【发布时间】:2021-01-07 13:23:16
【问题描述】:
我第一次尝试使用 CMake,并且正在努力将头文件链接到我的主文件中。我的 cmake 目录如下所示:
Project
| CmakeLists.txt
| src
|| CMakeLists.txt
|| Main.cpp
| Libs
|| CMakeLists.txt
|| headers
|||obstacle_detection.hpp
||source
|||obstacle_detection.cpp
|build
||"build files"
我想将headers 文件夹中的文件链接到主目录,但我目前拥有的文件似乎不起作用。以下正确运行 CMake 命令,但无法使用 make 命令编译,无法找到给定的头文件。我的 CMakeLists 文件如下:
项目:
cmake_minimum_required(VERSION 3.17)
project(Sensivision)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
find_package(OpenCV REQUIRED)
find_package(realsense2 REQUIRED)
find_library(darknet REQUIRED)
add_subdirectory(libs)
add_subdirectory(src)
target_link_libraries(${PROJECT_NAME} obstacle_detection)
库:
add_library(
obstacle_detection
headers/obstacle_detection.hpp
sources/obstacle_detection.cpp
)
target_link_directories(obstacle_detection PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
源代码:
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
target_link_libraries(${PROJECT_NAME} ${realsense2_LIBRARY})
我在 main.cpp 中的包含是
include <obstacle_detection.hpp>
我也试过
include <headers/obstacle_detection.hpp>
和
include <obstacle_detection>
每个都给出错误:
obstacle_detection.hpp: no such file or directory
我在将标题链接到主时做错了什么?
【问题讨论】: