相关疑难解决方法(0)

Cmake include_directories()

这是我的项目树:

project
| + src
| + external
| | + foo
| | | + include
| | | | - foo.hpp
| | | + src
| | | | - foo.cpp
| | | | - CMakeLists.txt
| | | - CMakeLists.txt 
| | + CMakeLists.txt 
| + src
| | - main.cpp
| - CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)

foo.cpp包括foo.hpp:

// foo.cpp
#include "foo.hpp"
Run Code Online (Sandbox Code Playgroud)

现在问题是包括顶部CMake中的目录成功找到foo.hpp,但如果我在子项目中包含它则不会.有什么理由吗?(在编译可执行文件之前包含目录).

// project/CMakeLists.txt
include_directories(external/foo/include) //OK
add_subdirectory(external)

add_executable(main main.cpp)
target_link_libraries(main foo)

// project/external/CMakeLists.txt
add_subdirectory(foo)

// project/external/foo/CMakeLists.txt 
include_directories(include) …
Run Code Online (Sandbox Code Playgroud)

c++ cmake include

16
推荐指数
1
解决办法
5万
查看次数

标签 统计

c++ ×1

cmake ×1

include ×1