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的桌面版的时候很长时间都没装好

相关推荐
别动我齐刘海1 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
wewowilling2 小时前
认识微服务
java·运维·微服务·springcloud
玖石书3 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu
xiaoqiMikko3 小时前
Linux 实战(七):useradd、sudoers、umask、SGID、软链 —— 三台真机实测
linux·centos
weifont4 小时前
自动化抓取和上架商品:能不动手,就少动手
运维·前端·自动化
拂拉氏5 小时前
【知识讲解】 Linux之动静态库的了解
linux·运维·服务器·动静态库
Fcy6485 小时前
Linux下 五种IO模型的认识与⾮阻塞IO的实现
linux·服务器·io
Mikko76 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
夏尔Gaesar6 小时前
解决Ubuntu安装vm tools时选项为灰色问题
ubuntu
书生执笔画浮沉6 小时前
分享一个开源小工具CAdapt
linux·c·gnu·glibc·kernel·升级·灵感