qt 在 wsl2 中交叉编译源码

    【废话】痛定思痛写下这篇文章,以前的明明都交叉编译配置的时候也折磨了很长时间,但是至少都配置成功了,但是没写下笔记,我以为我记住了,知道昨晚我需要的一个插件没有,再加上一些其他原因,我需要重新编译这份源码,可是怎么编译都编译不过,从晚上11点折腾到凌晨5点。

环境:

        window11 - WSL2 - ubuntu22.04.2 LTS

        qt源码是 qt 5.12.12 (qt-everywhere-src-5.12.12)

        我把我的源码直接上传百度网盘 https://pan.baidu.com/s/1AnT7txXl7LhOabWq6wqTKg

        提取码: 1314

源码可以自己去qt 官网下载,或者百度qt 源码下载,网上有一堆资源,这里就不说了

正题

解压源码压缩包

  tar xzvf qt-everywhere-src-5.12.12.tar
 cd qt-everywhere-src-5.12.12/

接下来使用configure来配置生成Makefile,因为配置参数很多,我直接写成一个脚本,脚本名字随便(注意./configure -prefix /opt/qt-dep 这个路径要改成自己的,-I/opt/qt-dep/include \
-L/opt/qt-dep/lib   这两个是tslib的库和头文件搜索路径)

vim auto.sh
#!/bin/bash
./configure -prefix /opt/qt-dep \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtdeclarative \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
-tslib \
-xcb-xlib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/opt/qt-dep/include \
-L/opt/qt-dep/lib   \
-recheck-all

因为我是用的ubuntu 22.04 所以现在直接编译会报错,16.04 就不会。

vim ./qtbase/src/corelib/global/qglobal.h

在qglobal.h中加入#include <limits>

然后就可以执行脚本

chmod u+x auto.sh 

./auto.sh

最后make 和 make install 就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ouzw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值