如何从命令行编译Visual Studio项目?
问题内容:
我正在为使用Monotone,CMake,Visual
Studio Express 2008和自定义测试的大型C ++解决方案编写脚本,以结帐,构建,分发,测试和提交周期。
所有其他部分似乎都非常简单明了,但是我不明白如何在没有GUI的情况下编译Visual Studio解决方案。
该脚本是用Python编写的,但给出的答案允许我仅调用os.system。
问题答案:
我知道有两种方法可以做到。
方法1
第一种方法(我更喜欢)是使用msbuild:
msbuild project.sln /Flags...
方法2
您还可以运行:
vcexpress project.sln /build /Flags...
vcexpress选项立即返回,并且不打印任何输出。我想这可能就是您想要的脚本。
请注意,DevEnv并不随Visual Studio Express 2008一起分发(我花了很多时间试图弄清我第一次遇到类似问题的时间)。
因此,最终结果可能是:
os.system("msbuild project.sln /p:Configuration=Debug")
您还需要确保您的环境变量正确,因为默认情况下,系统路径上不包含msbuild和vcexpress。启动Visual
Studio构建环境并从那里运行脚本,或者修改Python中的路径(使用os.putenv)。