独立使用msbuild编译C++的solution

阅读更多

开始打算在测试机上不安装VS,只用msbuild编译,但遇到了一些问题。

 

1. 开始下载MS 的buildtool_full,但是这个下载包是不包含配置文件的。solution里涉及的配置文件都找不到。总报Microsoft.Cpp里的配置文件找不到。

 

复制了另一台装了VS的机器的Microsoft.Cpp过去,配置文件就可以找到了。

如果因为路径问题找不到,可以在msbuild的命令行里加上

/p:VCTargetsPath="C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140"

2. 找不到CL.exe和link.exe

 

复制过来这两个EXE也不行。重新查了下,发现MS发布了包含库和必要头文件的build 工具包Microsoft Visual C++ Build Tools 2015。下载。如果路径问题还是找不到,可以在msbuild的命令行里加上

/p:CLToolPath="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64"
/p:LinkToolPath="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64" 

3. 项目中引用的头文件stdio.h等找不到。

 

刚下的C++工具包里也没有。。。工具包安装的头文件都在

/p:VC_IncludePath="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include"

 查了下,发现stdio.h等文件都被移到C:\Program Files (x86)\Windows Kits\10\Include里了。没办法,还是要从安装了VS的机器上把这个include目录都拷过来。

 

4. 可能之前装vs12的原因,编译的版本不一致问题。

 

/p:VisualStudioVersion=14.0 /t:Rebuild

 

终于,2015的solution可以在没有安装VS14的机器上编译了。。。

你可能感兴趣的:(独立使用msbuild编译C++的solution)