C++ msbuildc++;-生成用于生成自动生成的XML脚本

C++ msbuildc++;-生成用于生成自动生成的XML脚本,c++,msbuild,automation,dependencies,projects,C++,Msbuild,Automation,Dependencies,Projects,在我的工作场所,有一个特定的项目,在我们编译它之前,它有几个依赖项。 我将用更简单的场景来描述它: 假设我们有项目:A、B、C、D 关于A,B,当编译这些项目中的每一个时,我们将得到一个lib文件(静态库)。 假设为了编译项目C,我们需要编译项目A,B。 编译完C项目后,它将作为D项目的静态库。 然后我们编译项目D来运行应用程序 我们知道我们有专业的自动化工具,但我的经理希望使用MSBuild立即编译这些依赖项 项目是用C++编写的,而我在MSDN中发现的唯一引用是C或VB。 我能做什么????

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

假设我们有项目: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,但您需要研究这些选项…

使用正确配置的解决方案文件(.sln)如何才能实现您想要实现的目标?也许我错过了一些明显的东西(这不是第一次了)。或者只编写一个msbuild脚本,以正确的顺序构建项目?