Ubuntu18源码编译安装qt5.15.3和MeshLab踩坑

起初是想要编译MeshLab的源码来处理模型的问题,但是最新版MeshLab要求QT版本>=5.15,而在QT5.12以后的版本只能是源码安装QT了。

首先去官网下载QT5.15的源码,地址Index of /archive/qt,我下载的版本是5.15.3

Ubuntu18源码编译安装qt5.15.3和MeshLab踩坑_第1张图片

下载完后解压,进入包含configure的目录,打开终端,输入./configure,然后make和make install, 这样的话会按照默认配置来安装QT。

但是安装完后去执行编译好的MeshLab的时候报错

Ubuntu18源码编译安装qt5.15.3和MeshLab踩坑_第2张图片

 

意思是找不到xcb这个插件 ,然后去QT的安装路径下面找,我的是/usr/local/Qt-5.15.3/plugins/platforms,下面只有这几个lib,没有libqxcb.so

Ubuntu18源码编译安装qt5.15.3和MeshLab踩坑_第3张图片

然后去搜索引擎里翻了好久

首先在QT的官方文档里,这个libqxcb是要有依赖的

https://doc.qt.io/qt-5/linux-requirements.html

但是这个文档里面依赖包的名字有些是错误的

参考几位大神的解答[qt5-base] Feature 'xcb' was enabled, but the pre-condition 'features.thread && libs.xcb && tests.xcb_syslibs && features.xkbcommon-x11' failed. · Issue #16486 · microsoft/vcpkg · GitHub

sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

用这个命令把这些包都装好, 装了之后还不行的话参考下面这个

ERROR: Feature 'xcb' was enabled, but the pre-condition 'features.thread && features.xkbcommon && libs.xcb' failed. · Issue #3 · RudolfCardinal/camcops · GitHub

 然后执行./configure \

-xcb \

-xcb-xlib \

-bundled-xcb-xinput \

 如果还是失败报错,那么执行./configure -recheck-all ,检查一下xcb的各个项目是否是yes,如果不是的话检查下config.log,看其中出错的是哪个,主要检查xcb的项目有没有failed的,把出错的那个包重新安装下然后再次执行./configure -recheck-all

没问题之后make和make install,/usr/local/Qt-5.15.3/plugins/platforms下面应该就会有libqxcb.so了

Ubuntu18源码编译安装qt5.15.3和MeshLab踩坑_第4张图片

 

再次去MeshLab的build目录下的distrib里运行./meshlab,应该就可以打开meshlab了

Ubuntu18源码编译安装qt5.15.3和MeshLab踩坑_第5张图片

成功!

 

你可能感兴趣的:(MeshLab,qt,c++,qt,3d,mesh)