main.cpp 未检测到添加到 CMakeLists.txt 的子目录
added subdirectory to CMakeLists.txt isn't detected by main.cpp
我正在使用 Pybind11 创建一个 python 绑定到 c++ 代码。
我的项目架构如下:
-- MyProject
| -- lib
| -- pybind11
| -- CMakeLists.txt
| -- include
| -- myCPPCode
| -- CMakeLists.txt
| -- MyCodeDefinitions.h
| -- MyCode.cpp
| -- src
| -- MyProject
| -- MyModule.cpp
| -- CMakeLists.txt
| -- setup.py
我想做的是将 #include <myCPPCode/MyCodeDefinitions.h>
包含到 MyModule.cpp
.
为了做到这一点,我在全局 CMakeLists.txt
中添加了以下命令:add_subdirectory(lib/myCPPCode)
,但它不起作用,因为我不知道要在 [=19= 中放入什么],我收到以下错误:
path/MyProject/src/MyProject/MyModule.cpp:2:10: fatal error: myCPPCode/MyCodeDefinitions.h: No such file or directory
2 | #include <myCPPCode/MyCodeDefinitions.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lib/myCPPCode/CMakeLists.txt
内容如下:
cmake_minimum_required(VERSION 3.13)
project(myCPPCode)
add_library(myCPPCode MyCode.cpp)
我应该如何配置我的 CMakeLists.txt
和 lib/myCPPCode/CMakeLists.txt
?
提前致谢!
add_subdirectory
只是告诉 cmake 在作为参数给出的目录中找到一个 CMakeLists.txt。
您需要将 add_subdirectory(lib/myCPPCode)
更改为 include_directories(lib/myCPPCode)
,它应该会更好用。
我正在使用 Pybind11 创建一个 python 绑定到 c++ 代码。 我的项目架构如下:
-- MyProject
| -- lib
| -- pybind11
| -- CMakeLists.txt
| -- include
| -- myCPPCode
| -- CMakeLists.txt
| -- MyCodeDefinitions.h
| -- MyCode.cpp
| -- src
| -- MyProject
| -- MyModule.cpp
| -- CMakeLists.txt
| -- setup.py
我想做的是将 #include <myCPPCode/MyCodeDefinitions.h>
包含到 MyModule.cpp
.
为了做到这一点,我在全局 CMakeLists.txt
中添加了以下命令:add_subdirectory(lib/myCPPCode)
,但它不起作用,因为我不知道要在 [=19= 中放入什么],我收到以下错误:
path/MyProject/src/MyProject/MyModule.cpp:2:10: fatal error: myCPPCode/MyCodeDefinitions.h: No such file or directory
2 | #include <myCPPCode/MyCodeDefinitions.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lib/myCPPCode/CMakeLists.txt
内容如下:
cmake_minimum_required(VERSION 3.13)
project(myCPPCode)
add_library(myCPPCode MyCode.cpp)
我应该如何配置我的 CMakeLists.txt
和 lib/myCPPCode/CMakeLists.txt
?
提前致谢!
add_subdirectory
只是告诉 cmake 在作为参数给出的目录中找到一个 CMakeLists.txt。
您需要将 add_subdirectory(lib/myCPPCode)
更改为 include_directories(lib/myCPPCode)
,它应该会更好用。