octomap中的octovis,依赖于qt和libQGLViewer。所以或者不安装octovis,或者先安装依赖,具体如下。在MacOS Monterey 版本12.01上编译通过但是显示一片漆黑,后续解决。
安装QT5
#1 安装
git clone https://code.qt.io/qt/qt5.git
cd qt5
git checkout 5.12
git clone https://code.qt.io/qt/qtbase.git
cd qtbase
git checkout 5.12
cd ..
mkdir build
cd build
../configure -silent -opensource -nomake examples -nomake tests
gmake
sudo gmake install
#2配置环境
vim ~/.zshrc
#添加如下内容
export QTDIR=/usr/local/Qt-5.12.12
export PATH=${QTDIR}/bin:${PATH}
export MANPATH=${QTDIR}/man:${MANPATH}
export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH}
#保存后source一下
source ~/.zshrc
#3验证,输出版本信息就说明安装配置成功
qmake -v
#4注意
../configure是用来生成makefile的,可以使用../configure -help查看可配置的参数选项
我用make module-qtbase会报错
源码安装libQGLViewer
#1下载2.7.2
http://libqglviewer.com/installUnix.html#mac
#2安装
cd libQGLViewer-2.7.2/QGLViewer
qmake -spec macx-clang
make
sudo make install #会安装在/usr/local/lib/QGLViewer.framework
sudo cp -r /usr/local/lib/QGLViewer.framework /Library/Frameworks/
参考:
1
源码安装octomap
#1下载1.9.7
https://github.com/OctoMap/octomap/tags
#2安装
cd octomap-1.9.6/
mkdir build
cd build
cmake ..
#cmake出错解决(找不到某些包)
vi octomap-1.9.6/octovis/CMakeLists_src.txt
#开头第二行添加
set(Qt5Core_DIR "/usr/local/Qt-5.12.12/lib/cmake/Qt5Core/")
set(Qt5Gui_DIR "/usr/local/Qt-5.12.12/lib/cmake/Qt5Gui/")
set(Qt5OpenGL_DIR "/usr/local/Qt-5.12.12/lib/cmake/Qt5OpenGL/")
set(Qt5Widgets_DIR "/usr/local/Qt-5.12.12/lib/cmake/Qt5Widgets/")
set(Qt5Xml_DIR "/usr/local/Qt-5.12.12/lib/cmake/Qt5Xml/")
make
#make出错解决(building for macOS-arm64 but attempting to link with file built for macOS-x86_64)
rm -rf * #清空build文件夹
cmake -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_OSX_ARCHITECTURES=x86_64 ..
make
#3测试
cd ..
bin/octovis octomap/share/data/geb079.bt#我的显示出来的图一片黑 还是有问题待解决
杂记
export ARCHFLAGS=’-arch arm64’