小编X. *_*Liu的帖子

如何创建依赖于外部头文件的cmake header-only库?

我有一个具有以下文件结构的项目:

project
 |
 |-------> lib1
 |           |----> lib1.h
 |
 |-------> lib2
 |           |----> lib2.h
 |
 |-------> main.cc
Run Code Online (Sandbox Code Playgroud)

这两个库lib1,并lib2只包含头文件,同时lib2.h包括lib1.h,和main.cc包括lib2.h.

我现在如何为这个项目编写cmake文件?我试图创建一个接口库lib2,但是编译器无法找到lib1.h.以下是我的cmake文件的内容:

lib2的CMakeLists.txt:

add_library(lib2 INTERFACE)
target_sources(lib2 INTERFACE lib2.h)
target_include_directories(lib2 INTERFACE ../lib1/lib1.h)
Run Code Online (Sandbox Code Playgroud)

整个项目的CMakeLists.txt:

add_executable(project main.cc)
target_link_libraries(project lib2)
Run Code Online (Sandbox Code Playgroud)

cmake文件中有什么问题?

c++ cmake

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

cmake ×1