【发布时间】:2016-09-23 07:07:52
【问题描述】:
我使用以下命令安装了 PCL。
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
当我在CMakeLists.txt 中使用以下行编译我的 PCL 程序时
find_package(PCL 1.3 REQUIRED COMPONENTS)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
我有错误
CMake Error at CMakeLists.txt:17 (find_package):
By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "PCL", but
CMake did not find one.
Could not find a package configuration file provided by "PCL" (requested
version 1.3) with any of the following names:
PCLConfig.cmake
pcl-config.cmake
Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
to a directory containing one of the above files. If "PCL" provides a
separate development package or SDK, be sure it has been installed.
我在我的系统中找不到 PCLConfig.cmake 和 pcl-config.cmake。
我喜欢
找到 PCLConfig.cmake
/home/ttt/.local/share/Trash/files/PCLConfig.cmake /home/ttt/.local/share/Trash/files/DemoApplications-master/Calculus/tv_auto_on_off/voxel-sdk/libvoxelpcl/VoxelPCLConfig.cmake.in /home/ttt/.local/share/Trash/files/config/VoxelPCLConfig.cmake.in /home/ttt/.local/share/Trash/files/voxelsdk.2/config/VoxelPCLConfig.cmake.in /home/ttt/.local/share/Trash/info/PCLConfig.cmake.trashinfo /home/ttt/Softwares/voxelsdk/config/VoxelPCLConfig.cmake.in /usr/lib/cmake/VoxelPCL/VoxelPCLConfig.cmake
有意义吗?
我试过了
set(PCL_DIR "/home/ttt/.local/share/Trash/files/PCLConfig.cmake")
find_package(PCL 1.3 REQUIRED COMPONENTS)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
但仍然有同样的错误。 如何在我的系统中找到 PCLConfig.cmake? 谢谢
【问题讨论】:
-
如错误消息中所述,
PCL_DIR应该是一个目录,包含所需的文件。垃圾中的文件不太适合。它应该类似于<...>/cmake/PCL/PCLConfig.cmake(类似于VoxelPCL包的文件,输出中的最后一个文件)。在这种情况下,使用<...>/cmake/PCL作为PCL_DIR变量的值。