Stack Overflow 上有很多类似的问题,但没有一个可以回答我的问题。
我有一个使用 CMake 构建的 C++ 库:
mylib
| - CMakeLists.txt
| - src/
| | - m.h
| | - m.cpp
| - include/
| | - mylib/
| | | - a.h
| | | - something/
| | | | - some.h
| - cmake/
| - mylibConfig.cmake.in
| - mylibConfigVersion.cmake.in
然后我创建另一个包含上述库的库或可执行文件:
myapp
| - CMakeLists.txt
| - src/
| | - main.cpp
| - include/
| | - myapp/
| | | - b.h
| - libs
| | - mylib
并想像这样使用mylib
inside myapp
。请注意mylib
标题如何包含在类似格式的目录中:
#include <mylib/a.h>
#include <mylib/something/some.h>
mylib
应在构建时构建myapp
,以便以下工作无需任何其他构建步骤:
$ cd myapp/build
$ cmake ..
$ make
这是我查看过的一些 Stack Overflow 帖子的列表。我已经尝试过每一个,但它们根本不起作用: