回答

18

它的失败的原因是,有在同一项目中的另一个定制创建步骤,在打电话的批处理文件中,就像这样:

命令行:buildsomething.bat something.h
说明:构建东西
输出:something.h

Visual Studio 2010将所有自定义生成命令连接到一个单独的批处理文件中,然后运行它。当批处理文件运行另一个批处理文件时,Windows不会将控制权返回到第一个批处理文件。它就像一个goto,而不是一个函数调用。因此,要解决这个问题,你需要使用call这样的:

命令行:呼叫 buildsomething.bat something.h

call使得控制返回到Visual Studio的批处理流程文件,因此可以让您的其他自定义生成步骤运行。

(我回答我的问题,使未来的搜索可以找到答案。)

0

确保以下两个文件都处于良好状态。更好地比较这些文件与工作VS设置。

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets 

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets 
相关问题