gpt4 book ai didi

c++ - visual studio 中的多个依赖 native 项目

转载 作者:行者123 更新时间:2023-11-30 05:43:16 25 4
gpt4 key购买 nike

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

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

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

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

    配置属性->链接器->输入

该系统的缺点包括:

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

  • 由于设置是针对每个项目的,因此必须针对每个项目进行设置

  • 库是为每个解决方案单独构建的

关于c++ - visual studio 中的多个依赖 native 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com