gpt4 book ai didi

c++ - 如何在大约 v2.8.8 的 cmake 中轻松包含来自库依赖项的 header

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:09 25 4
gpt4 key购买 nike

我正在对 C++ 存储库使用 CMake 进行一些试验,但我遇到了一些麻烦,试图在不使用大量额外 CMake 代码的情况下轻松地针对同一源代码树中的库构建应用程序。

源码树的布局基本如下:

ROOT
libs/
lib1/
lib2/
lib3/
apps/
app1/
app2/
app3/

库相互独立,应用程序可以链接到一个或多个库。

目前我有一个根目录 CMakeLists.txt,它将每个应用程序和库列为一个子目录,这样如果库被更改并且应用程序被重建,库也会被重建。这工作正常并且 CMake 链接它而无需我指定库所在的位置,但我没有看到对包含目录执行类似操作的方法。

有没有通用的方法来处理这个问题?我不希望每个应用程序的 CMakeLists.txt 都必须手动列出它需要的库的路径。

最佳答案

如果您不担心为每个应用程序提供比实际需要更多的 header ,您可以在 INCLUDE_DIRECTORIES 语句中列出所有 lib 目录,例如在 CMakeListst.txt 中添加所有应用程序子列表。但是没有这样的概念来管理“属于”包含每个目标内置的文件夹。

关于c++ - 如何在大约 v2.8.8 的 cmake 中轻松包含来自库依赖项的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550475/

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