我无法将外部库与我使用 CMake 编写的库链接。我想知道是否需要将某些内容添加到我的CMakeLists.txt
? 或者,如果我需要CMakeLists.txt
在较低级别(内部src
)添加另一个,那需要包含什么?
我有以下项目结构:
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
没有错误。
我将非常感谢任何帮助,如果我需要澄清我的问题或错误,请告诉我。谢谢你。