我目前正在处理一个有不同库的项目,其中一些库文件的名称与STL文件的名称相似/相同。这可能会在以后的时间点上导致混淆。因此,即使通过编写#include<file.h>
来包含我的自定义库头文件是很方便的,我还是想重构我的CMake代码,我必须包含我的头文件,如下所示:#include<mylib/file.h>
.
我怎么能这样做呢?
下面是我当前设置的一个示例:
CMakeLists.txt
|
|- mylib
| |- CMakeLists.txt
| |- include
| |- header1.h
| |- header2.h
|
|- test
|- CMakeLists.txt
|- mylib
|- header1_test.cpp
|- header2_test.cpp
其中,三个CMakeLists.txt
分别为:
第一个
1条答案
按热度按时间svmlkihl1#
要完成来自Tsyvarev的注解,您需要修改标题位置:
顺便说一句,这行字:
不需要。当您需要链接的库不是CMake项目的一部分,并且位于链接器默认情况下不搜索的不同位置时,应该使用此函数。在这里,您通过add_library创建了库
mylib
,并且所有内容都在同一个CMake项目下(您有一个根CMakeLists,它添加了2个子目录)。此外,您不需要复制关键字
PRIVATE
: