我的建议是:编译环境一定要有网络,依赖的包才可以方便安装!!!
当然无网络,也可在有网络的相同架构系统下将相应包下载,详情可参考
Debian包管理则参考 Debian离线包安装离线源制作
下面是以Qt5.15.2源码编译为参考总结的。
连了外网但ping不通、或者没有源的 可能需要先配置:
源路径: /etc/apt/source.list
系统默认DNS配置: /etc/resolv.conf 修改 nameserver 114.114.114.114 #dns服务器解析
tar -xvf qt-everywhere-src-5.15.2.tar.gz
cd qt-everywhere-src-5.15.2
mkdir qt-5.15.2-build
cd qt-5.15.2-build
vim autoconfig.sh
rm config.cache
…/configure -confirm-license -opensource -prefix /home/username/qt-everywhere-src-5.15.2/qt-5.15.2 -skip qtwebengine
#-prefix 后面是安装路径
#-skip 是跳过编译的模块
sh autoconfig
1、ERROR:xcb
sudo apt-get install libxcb* libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
2、WARNING:QDOC
sudo apt-get install libclang-dev
3、WARNING:llvm-config
sudo apt-get install llvm
4、WARNING:gperf
sudo apt-get install gperf
5、WARNING:QtWebEngine
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison python
6、ERROR:OPenGl
sudo aptitude install libgl1-mesa-dev
#估计apt-get安装不上 所以安装aptitude 比 apt-get 更加智能地解决问题
选n 然后选y 即选择降低版本安装的方案
sudo aptitude install build-essential
sudo aptitude install libgl1-mesa-dev
sudo aptitude install libglu1-mesa-dev
sudo aptitude install libegl1-mesa-dev
sudo aptitude install freeglut3-dev
安装好再执行 sh autoconfig.sh
如有报错或警告,可再安装相关包,重复即可
大概如下图 这样子就算可以了!
检测满足条件后,就开始编译
make -j8 #8核的意思,编快些 有多少写多少
编译成功后,会提示 make install 去安装 安装路径就是之前配的-prefix 后面的路径
可以去安装路径下,看下 lib下你需要的库有没有装上
估计用该qt源码编译出来的程序,界面上中英文字符都不显示
需要将系统 /usr/share/fonts 的TIF等字体文件 复制到 qt安装路径的 lib/fonts下 就可以显示了
loognarch-3A5000编译Qt5.12.8源码时遇到的问题
error: #error Target architecture was not detected as supported by Double-Conversion.
Qt报错cast from ‘QTJSC::JSCell*’ to ‘int32_t’ {aka ‘int’} loses precision [-fpermissive]