c++ - MSBuild C++ - 制作用于自动构建的 XML 脚本

标签 c++ msbuild automation dependencies projects

在我的工作场所,有一个特定的项目在我们编译它之前有几个依赖项。 我将在更简单的场景中描述它:

假设我们有项目:A、B、C、D

关于A,B,编译这些项目中的每一个时,我们都会得到一个lib文件(静态库)。 假设为了编译项目 C,我们需要编译项目 A、B。 C项目编译后,作为D项目的静态库。 然后我们编译项目 D 来运行应用程序。

我们知道我们有专业的自动化工具,但我的经理想使用 MSBuild 立即编译这些依赖项。

项目是用 C++ 编写的,我在 MSDN 中找到的唯一引用是 C# 或 VB。

我能做什么???????请帮助:)

最佳答案

假设是 VS2012,因为我不记得 2010 支持什么:

您可以通过 GUI 设置解决方案并向其添加项目,然后通过右键单击解决方案设置依赖项 -> 选择“项目依赖项...”并设置您的依赖项。 MSBuild 可以很好地构建 sln 文件。

或者(我们所做的)是手动编辑 vcxproj 文件以通过项目组中的项目引用指定它们的依赖项。这意味着您不需要 sln 文件,只要构建任何项目,就会在必要时自动构建其引用项目。

<ProjectReference Include="PathTo.vcxproj">
  <Project>GuidOfProject</Project>
  <Name>Name</Name>
  <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
  <LinkLibraryDependencies>false</LinkLibraryDependencies>
  <UseLibraryDependencyImports>false</UseLibraryDependencyImports>
</ProjectReference>

根据您的描述,您可能希望将 LinkLibraryDependencies 设置为 true,但您需要调查这些选项...

关于c++ - MSBuild C++ - 制作用于自动构建的 XML 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791316/

相关文章:

c++ - GetProcAddress 找不到函数

visual-studio-2010 - 好的 MSbuild 日志格式化程序吗?

c# - 在构建事件中所做的更改不会在 clickonce 发布时持续存在

msbuild 失败并显示成功的 robocopy 退出代码

java - 填写应用程序登录表单的简单代码

c++ - 在C++多线程环境中使用写时复制

C++:解析一串带括号的数字

c++ - 没有匹配函数来调用函数模板

在 virtualenv 中运行 jupyter notebook 的 bash 脚本

java - 无法将 WebElement 转换为 org.openqa.selenium.internal.Locatable