`
cutecoot
  • 浏览: 120379 次
  • 性别: 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的机器上编译了。。。

分享到:
评论

相关推荐

    基于MSBuild的C++跨平台工具集,让Linux、MacOS等也支持编译vcxproj.zip

    标题中的“基于MSBuild的C++跨平台工具集”指的是使用微软的MSBuild构建系统来扩展C++的编译能力,使其能够在非Windows操作系统上,如Linux和MacOS上进行编译工作。MSBuild是.NET Framework的一部分,它提供了一种...

    MSbuild使用MSBuild实现完整daily_build流程

    MSBuild(Microsoft Build Engine)是微软推出的一种基于XML的平台独立的构建工具,主要用于.NET应用的自动化构建过程。它不仅支持C#和Visual Basic.NET项目,还能够处理其他语言的项目。MSBuild在.NET Framework ...

    msbuild编译

    不用再去打开VS庞大的工程, 可以直接编译解决方案\项目(也就是命令行编译)

    使用MSBuild实现完整daily build流程

    使用MSBuild可以使得整个构建流程自动化,包括编译、打包和部署等过程。 通过修改构建流程,我们可以将所有的项目输出都放在指定的目录下,并且可以自动生成MSI安装包,并将其放在target目录下。使用MSBuild可以...

    用MSBUILD编译

    MSBUILD是Microsoft开发的一种构建工具,它被集成在.NET框架中,用于编译、打包和部署各种.NET应用程序,包括ASP.NET项目。MSBUILD基于XML格式的项目文件(.csproj, .vbproj等),允许开发者以高度可定制化的方式...

    MSBuild 12.0 14.0 17.0

    通过使用MSBuild,开发者可以跨平台地构建和管理.NET应用程序,无论是Windows、Linux还是macOS。 在MSBuild 12.0中,重点在于与Visual Studio 2013的集成,引入了一些关键改进,如性能优化、更好的错误和警告消息,...

    微软 MSBuild 详细介绍

    这个平台不仅被Visual Studio所使用,而且可以独立于Visual Studio运行,只需调用`msbuild.exe`或`dotnet build`命令。 **MSBuild的工作原理** MSBuild通过读取项目文件(如`.csproj`、`.vbproj`、`.vcxproj`等)来...

    MSBuild V12编译器、BuildTools_Full

    关于链接的博客文章(虽然无法直接访问),它可能详细讨论了在Visual Studio中遇到的MSBuild版本问题,例如如何在没有安装完整Visual Studio的情况下使用MSBuild V12独立版进行构建,或者如何解决不同版本MSBuild...

    Microsoft Visual C++ Build Tools

    在使用Python集成开发环境PyCharm时,我们可能会遇到一些依赖于C++扩展的第三方库。当尝试通过`pip`安装这些库时,系统可能会提示缺少C++ 14.0编译器,这是因为某些Python库包含C++源代码,需要一个C++编译环境来...

    Windows-SDK-8.0(解决MsBuild自动编译找不到 aximp.exe 或 Lc.exe 的问题)

    在开发Windows应用程序时,开发者经常会遇到使用MsBuild自动编译过程中找不到关键工具,如aximp.exe或Lc.exe的问题。这些问题通常与开发环境的配置不完整或者相关工具没有正确安装有关。`Windows-SDK-8.0`离线安装包...

    Visual C++ 2015 Build Tools

    Visual C++ 2015 Build Tools是Microsoft为开发者提供的一个独立组件,它包含了构建C++应用程序所需的编译器、链接器以及其他工具,而无需安装完整的Visual Studio IDE。这些工具对于那些只需要编译C++代码而不需要...

    MSBuild.rar

    在.NET开发环境中,正确配置MSBuild对于确保项目顺利编译和构建至关重要。 MSBuild的工作原理基于XML格式的项目文件(通常是*.csproj或*.vcxproj),这些文件定义了构建过程中的所有步骤、目标和任务。通过读取这些...

    visial studio2019缺少的MsBuild文件

    在使用Visual Studio 2019进行OpenCV配置时,可能会遇到一个常见问题,即编译过程中提示找不到“Microsoft.Cpp.x64.user”这个组件。这个问题通常与Visual Studio的构建工具集,尤其是MsBuild(Microsoft Build ...

    批处理调用MSBuild自动生成DLL资源文件

    使用批处理文件调用MSBuild自动生成DLL资源文件,需要将需要生成dll资源文件的文件名添加在一个txt文档中以便批处理文件调用。

    Microsoft Visual C++ Build Tools.zip

    总的来说,Microsoft Visual C++ Build Tools是一个独立的工具集,旨在帮助开发者和用户解决由于缺少C++编译环境导致的软件安装或运行问题。它简化了对特定C++构建组件的安装,尤其适用于那些不需完整IDE但需要编译...

    visual c++ 2015 build tools

    在Python世界中,有些第三方库在安装时需要依赖于Visual C++的编译环境,尤其是当使用pip进行安装时。这是因为这些库包含C或C++的源代码,需要通过编译来生成对应的Python扩展模块。然而,许多开发者的机器上可能并...

Global site tag (gtag.js) - Google Analytics