直接按照官网的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的历程,防止未来自己重复踩坑。
另外的几个要点:
- Clion有时候会有问题,我的本地环境有改变之后,cmake-build-debug文件夹下的内容并不完全随着环境改变,需要删除重新reload cmake project;
- 编译器版本的版本很重要,如果使用g++ 4编译了相关dependences的话,就不要使用g++11编译工程;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)