在makefile中指定路径(在Windows上使用GNU make)

7
我正在使用GNU make来使用Microsoft Visual C++构建项目,并且希望能够从任何CMD窗口运行它,而不是必须打开预配置的窗口,在那里路径(和各种其他环境变量)由批处理文件预配置。理想情况下,我希望在makefile本身中定义相关的环境变量,这样我只需要弹出CMD窗口并输入“make”即可。
总的来说,这很简单,但我正在努力处理PATH;到目前为止,我尝试过的每个语法都失败了,这些语法包括将标准PATH变量(如在操作系统中定义的)和附加到各种构建工具的路径的语法。
与其通过我尝试过的六七种不同的语法(其中一些给出了错误消息,一些没有给出错误消息,但只是不起作用),不如直接问问题:
我需要在我的makefile中放置什么行,以便将链接.exe的路径(即“C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin”)添加到“make”使用的路径中?
到目前为止,我最接近成功的方法是定义:
LINK = “C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin \ link.exe”
...并将所有后续对“link.exe”的引用替换为$(LINK),但这会失败,因为link.exe具有各种依赖项(例如mspdb80.dll),这些依赖项也必须在路径上。
1个回答

8

这个有效:

DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin

export Path:=$(DevEnvDir);$(VCINSTALLDIR);$(Path)

之前,我因为需要“导出”和区分大小写而失败了。


1
在我的情况下(来自http://gnuwin32.sourceforge.net/packages/binutils.htm的make.exe v.3.8.1),我不得不切换到大写的PATH,使用小写的Path无法工作。 - Zinovy Nis
我和 @ZinovyNis 有着相同的经历。 - user266647

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接