0

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

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

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

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

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

我能做些什么 ?????????请帮忙 :)

4

1 回答 1

1

假设 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,但您需要调查这些选项...

于 2013-07-22T16:02:17.283 回答