PCL Point-Cloud-Library cmake 安装错误 - OpenMP

Posted

技术标签:

【中文标题】PCL Point-Cloud-Library cmake 安装错误 - OpenMP【英文标题】:PCL Point-Cloud-Library cmake install error - OpenMP 【发布时间】:2014-05-15 19:23:31 【问题描述】:

这是我的第一篇文章,所以请温柔!

尝试在 OSX 10.8.5 中配置 pcl 1.7 的安装时,我遇到了 cmake 错误。出现18次的错误是:

Performing Test OpenMP_FLAG_DETECTED - Failed

然后在 18 次失败的 OpenMP 搜索之后:

Could NOT find OpenMP (missing:  OpenMP_C_FLAGS OpenMP_CXX_FLAGS) 
Not found OpenMP

我也收到一个红色错误(使用 cmake GUI)说明:

CMake Error at cmake/Modules/FindEigen.cmake:25 (file):
  file Internal CMake error when trying to open file:
  /Library/Frameworks/Eigen.framework/Eigen/src/Core/util/Macros.h for
  reading.
Call Stack (most recent call first):
  CMakeLists.txt:238 (find_package)

但随后是黑色的:

Found Eigen: /Library/Frameworks/Eigen.framework  
Eigen found (include: /Library/Frameworks/Eigen.framework, version: ..)

所以也许这不是问题(CMakeError.log 中也没有对 Eigen 的引用。

任何诊断或解决问题的帮助将不胜感激。

谢谢, 标记

【问题讨论】:

你使用哪个编译器? Xcode 最新版本 (Clang) 附带的 C/C++ 编译器不支持 OpenMP。 感谢您的回复,我正在使用带有 XCode 作为生成器的默认本地编译器。有没有其他人遇到过 PCL 和 Clang 的问题,有没有办法解决这个问题? 尽管仍未找到 OpenMC,但刚刚成功编译 PCL 1.6.0 - 一定是 Eigen 错误,有什么想法吗? 也许这是您的 Eigen 安装的问题?您是否尝试重新安装 Eigen?你能在指定位置找到Macros.h吗? 【参考方案1】:

因此,似乎可以通过将编译器从 Clang 切换到 g++ 来解决 OpenMP 错误,尽管我没有这样做,因为没有 OpenMP 我会没事的。通过卸载然后重新安装 MacPorts 修复了 Eigen 错误(这是停止构建的原因)。

【讨论】:

我正在尝试一个基于 CMAKE 的项目,该项目会引发相同的 OpenMP 错误。你是如何从 clang 切换到 g++ 的?我试过cmake -G Xcode -DCMAKE_C_COMPILER=/usr/bin/llvm-gcc -DCMAKE_CXX_COMPILER=/usr/bin/llvm-g++ ..cmake -G Xcode -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ .. 但没有乐趣

以上是关于PCL Point-Cloud-Library cmake 安装错误 - OpenMP的主要内容,如果未能解决你的问题,请参考以下文章

将PCL链接到Cython C ++模块

在 PCL 中从另一个点云中删除点?

c_cpp 使用KinectGrabber / Kinect2Grabber从Kinect v1 / v2传感器检索的pcl :: PointCloud <pcl :: PointXYZRGBA

学习PCL库你应该知道的C++特性

C+11编译调用PCL库时出现segmentation fault(core dumped)错误

安装PCL(编译方式安装,填平之前的坑)