XUbuntu18.04 源码编译Qt4.5.3的过程

由于新公司很多旧的软件都是基于这个版本做的嵌入式开发。

所以想要自己搭一套基于Linux的非嵌入式开发环境,方便用来调试和编译代码。

这样就可以完成在linux下开发,然后直接嵌入式打包,涉及到界面的部分就不需要上机调试看问题了。

所以就开始踩坑的过程。主要是以下几个问题

1.Qt4.5.3的在linux上只能源码编译安装,需要找低版本的gcc,找gcc的过程很麻烦

  1. ubuntu上的报错问题

问题1的解决过程:

对Qt4.5.3支持的最好的gcc是4.2.x系列,已经是十几年前的东西了。4.3.x也可以很好的兼容,4.4.x理论上应该也可以。

但是ubuntu的镜像源上,很难找到低版本的gcc

也就是无法用 sudo apt-get install gcc-4.2 gcc-4.3完成安装。我找了很长时间都没找到。至找打了这几个的安装包,也就是deb包,安装的时候,也是各种坑。最后放弃

最后只能用找到的最低版本的4.4.7去编译,请参考这篇文章安装gcc g++4.4

ubantu20-安装gcc-4.4-g++-4.4_42ggcc-CSDN博客

总结下来,就是更新sources.list中的ubuntu源的版本,由于gcc4.4在低版本的ubuntu的源里,所以更新后,就能安装了

问题2的解决过程:

主要是执行:./configure

时候提示make 没有安装

执行: sudo apt-get install make

bash 复制代码
sudo apt-get install make

缺少x库时候执行:sudo apt-get install libx11-dev libxext-dev libxtst-dev

bash 复制代码
sudo apt-get install libx11-dev libxext-dev libxtst-dev

一开始X用的大写,换成小写就行了。

安装这三个库以后,开始编译。具体过程参考这篇文章

https://www.cnblogs.com/sggggr/p/17898089.html

把里边的源码换成4.5.3就行了。其他不要多余安装什么库,只需要安装上面这三个

后面进入源码目录,直接

sudo ./configure

依次输入o

yes

结束后

执行sudo make -j4

-j4是开启4核编译,我的虚拟机最多4个核心,所以就只能是-j4

最后很顺利编译完成了。

执行 sudo make install

Qt4.5.3的默认安装路径是在 /usr/local/Trolltech

添加qmake路径下就行了

sudo vim /etc/profile

把下面的添加到最后

export QTDIR=/usr/local/Trolltech/Qt-4.5.3

export PATH=QTDIR/bin:PATH

export MANPATH=QTDIR/man:MANPATH

export LD_LIBRARY_PATH=QTDIR/lib:LD_LIBRARY_PATH

source /etc/profile

最后输入 qmake -v 就i可以看到了

我用的不是ubuntu版本我用的是XUbuntu版本。

过程踩坑比这个多,我装了好几个虚拟机,一开始在22.04上用gcc4.7 编译不行。用gcc4.4.7编译也不行。

最后 换了这个XUbuntu的版本才算搞定。然后安装一个qtcreator4.0.3

下载链接在这里

Index of /archive/qtcreator/4.0/4.0.3

新建工程,运行

新公司电脑配置太低了,用的是XUbuntu,比ubuntu更节省硬件。

用起来还是有点不太舒服的。

后面空了,看下能不能在ubuntu18.04上完成编译,昨天装ubuntu18.04的桌面版的时候很长时间都没装好

相关推荐
加油码16 分钟前
动静态库的链接底层原理(进阶版)
linux·c++
东莞和裕包装26 分钟前
如何管控广州定制纸箱生产中的啤切精度与印刷色差质量问题
大数据·运维·网络·人工智能
小飞侠在吗1 小时前
Windows 下 Nginx 访问 127.0.0.1 报 50x 错误:根因是路径里 \t 被当成 Tab
运维·windows·nginx
H_oRIZoN_1 小时前
Linux入门DAY23(C语言树形结构)
linux·c语言·数据结构
kdxiaojie2 小时前
Linux USB驱动阅读笔记(1)
linux·笔记·学习·usb
JacksonMx2 小时前
Java CompletableFuture 异步编程实战:从入门到架构师避坑指南
linux·数据库·python
九硕智慧建筑一体化厂家2 小时前
楼宇自控|智慧建筑核心引擎!楼宇自控系统,赋能建筑高效低碳运维
运维·人工智能·笔记·智慧城市
90后小陈老师2 小时前
Google账号申诉处理建议
运维
byte轻骑兵3 小时前
【BlueZ 】蓝牙 SDAP 协议入门:BlueZ 中设备服务发现的基础逻辑
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
mounter6253 小时前
GCCRS 突破与 Rust 入核:Linux 工具链的重大变革
linux·开发语言·rust·linux kernel·kernel