窗户上的PCL 1.8.1 CMAKE问题
PCL 1.8.1 CMake Problems on windows
我遵循此页面上的说明,在我的Windows 10计算机上安装PCL 1.8.1。安装过程中没有发生错误,并且安装程序成功退出。我的CMakeLists.txt
看起来像这样:
cmake_minimum_required(VERSION 3.8)
project(MyProject)
set(CMAKE_CXX_STANDARD 11)
find_package(PCL 1.8 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
set(SOURCE_FILES source/main.cpp)
add_executable(MyProject ${SOURCE_FILES})
target_link_libraries(MyProject ${PCL_LIBRARIES})
我有以下错误:
CMake Error at /cygdrive/c/Program Files/PCL 1.8.1/cmake/PCLConfig.cmake:44 (message):
PCL can not be found on this machine
Call Stack (most recent call first):
/cygdrive/c/Program Files/PCL 1.8.1/cmake/PCLConfig.cmake:768 (pcl_report_not_found)
CMakeLists.txt:6 (find_package)
我正在使用Jetbrains Clion进行开发,而Cygwin用于GCC,CMAKE和GDB。当我在第744-769行中查看PCLConfig.cmake
文件时,我发现了一些奇怪的东西:
# check whether PCLConfig.cmake is found into a PCL installation or in a build tree
if(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h")
# Found a PCL installation
# pcl_message("Found a PCL installation")
set(PCL_INCLUDE_DIRS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}")
set(PCL_LIBRARY_DIRS "${PCL_ROOT}/lib")
if(EXISTS "${PCL_ROOT}/3rdParty")
set(PCL_ALL_IN_ONE_INSTALLER ON)
endif(EXISTS "${PCL_ROOT}/3rdParty")
elseif(EXISTS "${PCL_ROOT}/include/pcl/pcl_config.h")
# Found a non-standard (likely ANDROID) PCL installation
# pcl_message("Found a PCL installation")
...
elseif(EXISTS "${PCL_DIR}/include/pcl/pcl_config.h")
# Found PCLConfig.cmake in a build tree of PCL
# pcl_message("PCL found into a build tree.")
...
else(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h")
pcl_report_not_found("PCL can not be found on this machine")
endif(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h")
第一个if-条件if(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h")
是正确的。我已经检查了。在目录中,C:/Program Files/PCL 1.8.1//include/pcl-1.8/pcl/
存在一个名为pcl_config.h
的文件,但是由于某种原因,最后一个条件else(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h")
完全相同,因此也为true。这就是错误的来源。我不知道,我现在应该做什么。我应该更改cmake文件,以便只有第一个条件是正确的吗?请帮助我。
最诚挚的问候,ypsilonzett
我遇到了相同的错误,并成功解决了它。首先,它说
if(EXISTS"${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h")
因此,检查您是否有pcl_config.h
。我发现我在/usr/include/pcl-1.12/pcl/pcl_config.h
中有它。我想,因为我的版本是1.12,所以它太高了,PCL_VERSION_MINOR
无法匹配。
我更改了代码(尽管不建议使用)。使用/usr/include/pcl-1.12/pcl/pcl_config.h
此类路径,而不是${xxxxx}
,然后使用。
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- 如何将GTest与CMake一起使用?遵循谷歌指南时的链接问题
- CMake 错误"源似乎不包含 CMakeLists.txt",路径/库连接问题
- 在 armhf 上使用 cmake 在 qt 上的编译问题 "Syntax error: wird unexpected (expecting " ) " "
- 将 Boost 与 CMAKE 联系起来时出现问题
- Ubuntu 下的 Cmake 和 Intel IPP 的编译问题
- CMake Qt建立在Windows链接器问题之上
- CMake - OpenVR 编译问题
- 使用 cmake 安装 protobuf 时出现问题
- CMake - 安装问题以制作软件包
- 使用 CMake 构建 {fmt} 时出现问题
- CMake 的测试:找不到图像(可能的 rpath 问题)
- 在 Windows 上使用 Emscripten 和 CMake 编译 GLFM 的问题
- Cmake Mac OSX库链接问题:在Linux上进行编译,但在Mac上进行了编译
- ApplellVM 9.1.0具有C 17支持?还是CMAKE/ENV问题
- 从命名空间嵌入资源的问题(C++和CMake)
- 使用 cmake 构建 dOxygen 的问题
- 特征,制造和cmake之间的问题(可能是cmake错误)
- 在 Travis CI 上运行 C++ 测试时出现问题.Cmake 配置.如何在特拉维斯 ci 上运行测试套件?
- OpenCV CLion (Cmake)链接问题- Cmake报告一个奇怪的错误