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 小时前
Linux基础开发工具的使用(apt、vim、gcc、g++、gdb、make、makefile)
linux·运维·vim
望获linux1 小时前
如何在望获实时 Linux & 京博航友善 NanoPC-T6 上部署 Docker
linux·运维·服务器·docker·eureka·开源软件
wangchen_01 小时前
linux编译器和自动化构建工具(gcc与Makeile)
linux·运维·服务器
DC_BLOG1 小时前
Linux-Ansible命令
linux·运维·服务器·ansible
人工干智能1 小时前
科普:“docker”与“docker compose”
运维·docker·容器
suenpeng1 小时前
安全运维,等保测试常见解决问题。
linux·运维·安全
神马都会亿点点的毛毛张1 小时前
【Docker教程】万字长文详解Docker命令
java·运维·后端·docker·容器
码农君莫笑1 小时前
Linux系统上同时打印到物理打印机并生成PDF副本方法研究
linux·前端·chrome·打印·信管通
马剑威(威哥爱编程)2 小时前
Linux驱动开发13个实用案例
linux·运维·驱动开发
程序员JerrySUN2 小时前
每天设计者模式-1:基础面试题
java·linux·运维·服务器·开发语言·python·docker