在我的工作场所,有一个特定的项目在我们编译它之前有几个依赖项。 我将在更简单的场景中描述它:
假设我们有项目: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/