visual studio

时间:2015-05-18 11:36:24

标签: c++ visual-studio-2012 native project-management

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

对于一个项目来说,这不是什么大问题。但如果你像我一样管理几个项目。很多都有点依赖。管理所有这一切变得非常麻烦。

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

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

1 个答案:

答案 0 :(得分:1)

我个人对此问题的解决方案如下。

生成二进制文件的每个项目都构建为:

$(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

该系统的缺点包括:

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

  • 由于设置是按项目进行的,因此必须为项目设置

  • 这些库是针对每个解决方案单独构建的