visual studio中的多个相关本机项目

问题描述:

由于Visual studio支持.NET项目,因此它不支持本机项目。从某种意义上说,例如创建静态库(.lib)时。包括静态库和包含头文件的目录必须手动完成。visual studio中的多个相关本机项目

对于一个项目,这不是一个大问题。但是如果你像我一样管理好几个项目。其中很多有些依赖。管理它全部变成一件很麻烦的事情。

我想知道是否有任何官方'微软批准'的方法。如果不是,处理这种情况的最好方法是什么?假设发生以下情况:

  • 几个静态库(.lib)项目。其中包含几种解决方案
  • 几个动态库(.dll)项目。这是在多种解决方案包括
  • 使用相同的库(动态和静态)多个应用程序,在一个解决方案

我个人的解决问题的方法如下。

每个项目生成的二进制建立到:

$(SolutionDir)build\$(Configuration)\` 

每个项目生成静态库建立到:

$(SolutionDir)build\$(Configuration)\Libraries\ 

中间目录对所有项目是:

$(SolutionDir)build\$(ProjectName)\$(Configuration)\ 

并运行以下预构建命令:

该系统的
Copy /Y "$(ProjectDir)*.h" + "$(ProjectDir)*.hpp"  "$(SolutionDir)build\$(Configuration)\Libraries\" 

优点包括:

  • 所有项目目录免费入住的建立(使用有用的源代码控制时)。所有的二进制文件都在一个地方。

  • 在同一解决方案中使用来自其他项目的输出时,从不需要设置附加包含目录。动态库不一定要添加。而所有这一切都需要包括静态库下将其添加到Additional Dependencies领域:

    Configuration Properties->Linker->Input该系统的

缺点包括:

  • 由于所有的头文件复制,存在意外编辑这些内容的风险。这会导致再次复制时丢失工作。

  • 由于设置每个项目,他们有被设置过项目

  • 该库单独构建的每一个解决方案