【发布时间】:2021-05-22 22:52:03
【问题描述】:
我无法将外部库与我使用 CMake 编写的库链接。我想知道是否需要将某些内容添加到我的CMakeLists.txt 中?或者,如果我需要在较低级别(src 内)添加另一个 CMakeLists.txt,那需要包含什么?
我的项目结构如下:
ProjectFolder
│ ├── CMakeLists.txt
│ ├── build
│ │ └──
│ ├── include
│ │ └── helper.h
│ └── src
│ ├── helper.cpp
└── main.cpp
我的CMakeList.txt 是:
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(object_detection)
find_package(PCL 1.5 REQUIRED)
find_package(OpenCV REQUIRED)
file(GLOB SOURCES src/*.cpp)
file(GLOB INCLUDE include/*.h)
include_directories(${PCL_INCLUDE_DIRS} ${INCLUDE})
link_directories(${PROJECT_NAME} ${PCL_LIBRARY_DIRS} ${SOURCES} )
add_definitions(${PCL_DEFINITIONS})
add_executable (${PROJECT_NAME} src/main.cpp)
target_link_libraries (${PROJECT_NAME} ${OpenCV_LIBS} ${PCL_LIBRARIES} ${SOURCES})
在我的文件helper.cpp 我有:
#include <pcl/io/pcd_io.h>
这给出了错误:
fatal error: 'pcl/io/pcd_io.h' file not found
#include <pcl/io/pcd_io.h>
^~~~~~~~~~~~~~~~~
但是我在 main.cpp 中包含相同的内容,没有错误。
我将非常感谢任何帮助,如果我需要澄清我的问题或错误,请告诉我。 谢谢。
【问题讨论】:
标签: c++ cmake include file-not-found cmakelists-options