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
该系统的
缺点包括:
由于所有的头文件复制,存在意外编辑这些内容的风险。这会导致再次复制时丢失工作。
由于设置每个项目,他们有被设置过项目
该库单独构建的每一个解决方案