官方地址
https://github.com/nightn/CloudViewer
安装qt
https://www.qt.io/download-open-source
配置环境变量
export PATH="/home/nightn/Qt5.10.1/Tools/QtCreator/bin:$PATH"
export PATH="/home/nightn/Qt5.10.1/5.10.1/gcc_64/bin:$PATH"
编译坑
错误一:
/usr/bin/ld: CMakeFiles/CloudViewer.dir/CloudViewer.cpp.o: in function `Ui_CloudViewerClass::setupUi(QMainWindow*)':
CloudViewer.cpp:(.text._ZN19Ui_CloudViewerClass7setupUiEP11QMainWindow[_ZN19Ui_CloudViewerClass7setupUiEP11QMainWindow]+0x1bef): undefined reference to `QVTKWidget::QVTKWidget(QWidget*, QFlags<Qt::WindowType>)'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/CloudViewer.dir/build.make:329:src/CloudViewer] 错误 1
make[1]: *** [CMakeFiles/Makefile2:95:src/CMakeFiles/CloudViewer.dir/all] 错误 2
make: *** [Makefile:84:all] 错误 2
解决方案
其中的地址记得改成自己安装的目录
cmake -DVTK_QT_VERSION:STRING=5 \
-DQT_QMAKE_EXECUTABLE:PATH=/opt/Qt5.11.2/5.11.2/gcc_64/bin/qmake \
-DVTK_Group_Qt:BOOL=ON \
-DCMAKE_PREFIX_PATH:PATH=/opt/Qt5.11.2/5.11.2/gcc_64/lib/cmake \
-DBUILD_SHARED_LIBS:BOOL=ON ..
make -j
sudo make isntall
错误二:
安装Anaconda环境导致编译失败
gcc -L/home/muellc1b/uuid/lib -L/usr/local/lib -Wl,--as-needed [...] -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lSM -lICE -lXt -lX11 -lSM -lICE -lm -ltinfo -lelf -lnsl -lselinux -lacl -lattr -lgpm
/usr/lib/../lib64/libSM.so: undefined reference to `uuid_unparse_lower@UUID_1.0'
/usr/lib/../lib64/libSM.so: undefined reference to `uuid_generate@UUID_1.0'
collect2: error: ld returned 1 exit status
解决方案
将PATH中关于anaconda的bin暂时替换成为/usr/local/bin
An example of modified PATH: if the original was /home/you/anaconda3/bin:/usr/local/bin:/usr/sbin:/usr/bin then the modified one is /usr/local/bin:/usr/sbin:/usr/bin