欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-01 17:23:08
...

开始打算在测试机上不安装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的机器上编译了。。。