Max*_*iso 5 c++ nmake makefile visual-studio-2010
我已将 Microsoft Visual Studio 配置为使用 Makefile 配置类型,并编写了一个 makefile 来使用 Microsoft 工具构建我的项目。在项目配置的 NMake 部分下,我将构建命令行设置为 build.bat,该文件只是使用我的 makefile 作为命令行参数来调用 nmake,如下所示:
nmake /nologo /f makefile.x86.winnt.msvc2010
Run Code Online (Sandbox Code Playgroud)
这很好用。
为了进行清理,我在 makefile 中编写了一个目标,该目标会删除所有构建工件。它看起来像这样:
#... the rest of the makefile
clean:
@erase /f /q $(OBJS) $(OUT) $(MAPFILE) $(PDBFILE)
@echo + clean
Run Code Online (Sandbox Code Playgroud)
因此,我将 clean 命令行设置为以 clean 作为参数的 nmake 调用。像这样:
nmake /nologo /f makefile.x86.winnt.msvc2010 clean
Run Code Online (Sandbox Code Playgroud)
我将此文本放入 clean.bat 并将其设置为“清理命令行”,但它不起作用,因为调用 shell 无法找到 nmake。我检查了 clean 调用时的路径,MSVS 不包含用于清理的路径中的构建工具(包括 nmake)。(请注意,在 PATH 中有 nmake 的 shell 中运行上述 nmake 命令会成功)。
如何让 MSVS 将构建工具包含在 PATH 中,以便我可以在 clean 命令行中调用 nmake?或者有更好的解决方案吗?
2. 已知问题
2.4. 产品问题
2.4.1. 一般问题(产品)
2.4.1.14。Clean Solution 不适用于配置类型:Makefile (2010 RC)
在 nmake 解决方案上执行“Clean Solution”会报告以下错误:
Run Code Online (Sandbox Code Playgroud)1>------ Clean started: Project: makefiletest, Configuration: Debug Win32 ------ 1> 'nmake' is not recognized as an internal or external command, 1> operable program or batch file. 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(33,5): error MSB3073: The command "nmake /?" exited with code 9009. ================= Clean: 0 succeeded, 1 failed, 0 skipped ==========要解决此问题:
- 打开 Visual Studio 命令提示符窗口。
- 通过输入打开 Devenv
devenv /useenv。- 现在“清洁解决方案”应该可以工作了。
或者:
将批处理文件传递给 clean 命令。在批处理文件中,设置 nmake 工具以及其他构建环境的 PATH。
| 归档时间: |
|
| 查看次数: |
9080 次 |
| 最近记录: |