Visual Studio中的多个依赖的本地项目

Multiple dependent native projects in visual studio

本文关键字:项目 依赖 Studio Visual      更新时间:2023-10-16

Visual Studio不支持本机项目,因为它支持.NET项目。从某种意义上说,例如创建静态(.lib)库时。必须手动完成静态库和包含标头的目录。

对于一个项目,这不是很多问题。但是,如果您像我管理几个项目。其中很多是有些依赖的。管理所有这些都很麻烦。

我想知道是否有任何正式的"微软批准"方法。如果没有,那么处理这种情况的最佳方法是什么。假设发生以下情况:

  • 几个静态库(.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

此系统的缺点包括:

  • 由于所有标头文件均已复制,因此存在意外编辑的风险。这会导致工作损失,当复制再次发生时。

  • 由于设置为每个项目,因此必须将它们设置为ever project

  • 库是为每个解决方案分别构建的