在Visual Studio解决方案中使用引用项目的“附加包含目录”

pnwntuvh  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(201)

我目前正在为一个仍然使用Visual Studio Solutions的大型软件代码库实现一个C++静态库。我使用CMake创建了我的库。该库包含单个外部头文件和多个内部静态库。
构建新的库本身工作得很好,但是当我尝试将库的外部头文件包含在主项目中并构建它时,Visual Studio解决方案项目抱怨新项目的内部头文件的路径不正确。
是否有任何方法可以从VisualStudioSolutions中引用的项目中传播额外的include目录,或者我的集成方法一开始就完全错误?在主项目中添加每个引用项目的所有Additional Include Directories感觉有点多余。

tcbh2hod

tcbh2hod1#

我不知道有什么简单的方法可以做到。
我能想到的最好的方法是让CMake项目生成一个vcpkg包,然后由VS解决方案项目使用。
但是静态库根本不会将您与下游依赖项隔离开来。您仍然需要包含依赖项中的所有头文件和.lib文件,才能成为包的一部分。如果需要真正的隔离,实际上需要更改库的代码来实现这一点--通过 Package 下游库中的所有函数和类型,并将库链接为共享库(.dll),而不是将其构建为静态库。

相关问题