MSBuild使用3——构建C/C++项目

本文详细介绍了如何使用MSBuild工具构建C/C++项目,包括VCBuild任务和Exec任务的使用方法,以及如何通过vcbuild.exe和devenv.com命令行工具进行编译。同时,讨论了在不同平台(Win32、x64)上生成Debug和Release版本,并提供了示例项目和参数设置的说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博客(http://blog.youkuaiyun.com/livelylittlefish)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!

 

MSBuild使用3——构建C/C++项目

 

1. MSBuild可以Build C#项目,能否Build C/C++开发的项目

答案当然是可以。C/C++项目文件为.vcproj。

 

(1)使用VCBuild任务

包装 vcbuild.exe,该执行程序生成 Visual C++ 项目和包含 Visual C++ 项目的解决方案。

必选参数:Projects:指定要生成的项目。

 

(2)使用MSBuild任务

基于另一个 MSBuild 项目生成 MSBuild 项目。

必选参数:Projects:指定要生成的项目。

与使用Exec任务调用 MSBuild.exe 不同,此任务使用同一个 MSBuild 进程来生成子项目。可以跳过的已生成目标列表在父生成进程与子生成进程之间共享。此外,此任务的速度更快,因为它不创建任何新的 MSBuild 进程。

此任务不但可以处理项目文件,而且还可以处理 Visual Studio 2005 解决方案文件。

(但通过MSBuild任务Build C++项目会产生一个warning)

 

(3)使用Exec任务,使其执行vcbuild.exe命令

Exec任务:运行带有指定参数的指定程序或命令。

必选参数:Command:要运行的命令。这可以是系统命令,如 attrib,也可以是可执行文件,如 program.exe。

vcbuild.exe:D:/Program Files/Microsoft Visual Studio 8/VC/vcpackages/vcbuild.exe

 

(4 )使用Exec任务,使其执行devenv.com命令

Devenv 允许您设置集成开发环境 (IDE) 的各个选项,以及从命令行生成、调试和部署项目。使用这些开关从脚本或 .bat 文件(如每夜生成的脚本)运行 IDE,或以特定配置启动 IDE。

详细参考:http://msdn.microsoft.com/zh-cn/library/xee0c8y7.aspx

                    http://msdn.microsoft.com/en-us/library/xee0c8y7(VS.80).aspx

 

2. 例子

启动VS2005,建立C++项目,名称为TestMSBuild,存于C:根目录下,并选中“Create directory for solution”(为解决方案建立目录)。在此例中,我们只是演示如何使用VCBuild、MSBuild和Exec任务Build C++项目,故对VS2005自动生成的TestMSBuild代码不做任何修改。其生成的TestMSBuild.vcproj在C:/TestMSBuild/TestMSBuild目录下。

(1)使用VCBuild任务

  1. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  2.     <Target Name="BuildCppProject">
  3.         <VCBuild
  4.             Projects="TestMSBuild/TestMSBuild/TestMSBuild.vcproj"
  5.             Configuration="Release|Win32"
  6.             Rebuild="true"/>
  7.         <VCBuild
  8.             Projects="./TestMSBuild/TestMSBuild/TestMSBuild.vcproj"
  9.             Configuration="Debug|Win32"
  10.             Rebuild="true"/>
  11.         <VCBuild
  12.      &nbs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值