`
cutecoot
  • 浏览: 121825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

独立使用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的机器上编译了。。。

分享到:
评论

相关推荐

    windows 11、 VS2019、Open3D-0.17.0 编译动态链接库

    VS2019包含了编译C++项目所需的完整工具链,包括MSBuild和CMake,后者是一个跨平台的构建系统,用于管理Open3D的源代码构建过程。 步骤1:获取Open3D源代码 从Open3D的官方GitHub仓库下载0.17.0版本的源代码。你...

    Visual C++

    4. **C++构建系统**:Visual C++ 使用MSBuild作为其构建系统,它处理源代码的编译、链接和资源编译。理解项目的解决方案(Solution)、项目(Project)和目标(Target)的概念,以及如何配置它们的属性,是掌握...

    [VS2008]自动化编译

    例如,`devenv solution.sln /build "Release"`命令将编译解决方案中的所有项目,并选择Release配置。此外,可以结合批处理文件或PowerShell脚本来组织这些命令,实现复杂的自动化流程。 【标签】中的"源码"指的是...

    com.quui.apes.tar.gz_C#编程_Visual_C++_

    2. **项目文件**:可能包含 .sln(Solution)和 .vcxproj(Visual C++ 项目)文件,它们是 Visual Studio 使用的项目和解决方案配置文件,用于管理项目依赖和构建设置。 3. **库和框架**:可能包含了所需的库文件...

    在PowerShell中使用Visual Studio Developer命令提示符

    你可以使用`cl`命令来编译C++代码,或者`vbc`来编译VB.NET项目。同时,`nuget`命令可用于管理NuGet包,`msdeploy`用于发布应用程序。 需要注意的是,由于PowerShell的安全策略,某些命令可能需要额外的权限才能执行...

    Visual Studio的使用技巧

    2. **修改 C++ 工程的 .vcproj 文件**:同样使用文本编辑器打开 `.vcproj` 文件,将 `Version="9.00"` 改为 `Version="8.00"`,并删除 `TargetFrameworkVersion="196613"` 这一行。 3. **修改 C# 工程的 .csproj ...

    VSCommunity:使用VS社区编写的代码

    在VS Community中,你可以使用MSBuild作为构建系统,它负责编译、链接源代码,生成可执行文件。通过配置项目的属性,你可以控制编译选项,如优化级别、警告级别等。 5. **C标准库支持** VS Community支持C99和C11...

    TBNTB

    1. **解决方案文件(Solution File)**:以.sln为扩展名,记录了项目中的所有工程和项目的相关信息,方便管理和编译。 2. **工程文件(Project Files)**:每个C#项目都有一个.csproj文件,它定义了项目的基本设置,如...

Global site tag (gtag.js) - Google Analytics