CloudViewer Linux 安装和坑

本文介绍了在安装和编译CloudViewer项目时遇到的两个主要问题及其解决方案。首先,编译过程中遇到QVTKWidget链接错误,通过修改cmake参数并指定Qt和VTK的路径成功解决。其次,由于Anaconda环境导致的编译失败,通过临时将PATH中的Anaconda bin替换为/usr/local/bin解决了uuid库的undefined reference问题。这两个问题的解决对于Qt和VTK项目的编译具有一定的参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方地址

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值