使用Macbook M1 Pro编译安装OMPL的问题

使用Macbook M1 Pro编译安装OMPL的问题,第1张

使用Macbook M1 Pro编译安装OMPL的问题

直接按照官网的Mac port进行安装是可行的;

但是我的电脑上的OMPL在安装完成之后,find_package之后,会报错,原因在于/opt/local/share/ompl/cmake/omplConfig.cmake中的

#    if(/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/System/Library/frameworks/OpenGL.framework;/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/System/Library/frameworks/OpenGL.framework)
#        list(APPEND OMPLAPP_LIBRARIES "${_lib}")
#    endif()

是多余的,注释掉之后该报错消失;

在解决上述问题之后,会提示找不到assimp和fcl的动态库;

原因还是在 /opt/local/share/ompl/cmake/omplConfig.cmake文件中

set(OMPLAPP_LIBRARIES "${OMPLAPPbase_LIBRARY};${OMPLAPP_LIBRARY};libassimp.5.dylib;fcl")

这一行中的libassimp.5.dylib和fcl找不到。

在这里我选择了source的方式安装了assimp和fcl,记录下二者动态库的位置,手动修改/opt/local/share/ompl/cmake/omplConfig.cmake文件中的相关行。

SET(CUSTOM_ASSIMP /usr/local/lib/libassimp.5.dylib)
SET(CUSTOM_FCL /usr/local/lib/libfcl.dylib)
set(OMPLAPP_LIBRARIES "${OMPLAPPbase_LIBRARY};${OMPLAPP_LIBRARY};${CUSTOM_ASSIMP};${CUSTOM_FCL}")

如上问题解决;

但是现在只是${OMPL_LIBRARIES}处于可用状态,但是${OMPLAPP_LIBRARIES}还不可以使用,按理说通过Mac port进行安装之后是可以使用 +app选项安装omplapp的,但是暂时用不到,也就没有处理这个问题。

如果使用${OMPLAPP_LIBRARIES}会报错如下

a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture arm64

此问题暂时搁置。记录下这一次macbook pro 2021 16inch with M1 Pro安装OMPL的历程,防止未来自己重复踩坑。

另外的几个要点:

  1. Clion有时候会有问题,我的本地环境有改变之后,cmake-build-debug文件夹下的内容并不完全随着环境改变,需要删除重新reload cmake project;
  2. 编译器版本的版本很重要,如果使用g++ 4编译了相关dependences的话,就不要使用g++11编译工程;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存