基于CentOS-6.9_x64系统QT环境搭建
想从事QT开发的人员,首先要做的第一件事就是开发环境的搭建。本人也是一位刚入门的新手,为了搭建这么一个环境,参考了很多的网上教程,然而中间依然走了不少弯路。现将过程记录下来。
一、开发环境
CentOS 6.9_x64
arm-linux-gcc-4.4.3.tgz
二、所需安装文件
qt-everywhere-opensource-src-4.8.6.tar.gz
qt-creator-opensource-linux-x86_64-4.0.3.run
这两个文件可以从http://download.qt.io/网站的archive目录里获取。
三、按装qt-creator
这一步主要是安装qt的集成编辑环境,类似于windows下的UltraEdit的编辑软件,主要是为了编写代码用的,其安装步骤也比较简单。
1. chmod +x qt-creator-opensource-linux-x86_64-4.0.3.run
2. sudo ./qt-creator-opensource-linux-x86_64-4.0.3.run
在接下来的图形安装界面一路采用默认配置即可,软件默认会被安装到/opt/qtcreator-4.0.3路径,同时在menu/application/programming菜单下创建qt creator快捷图标。
四、安装DeskTop类型的QT框架
1. 进入到 qt-everywhere-opensource-src-4.8.6 目录下
2. 如果之前的linux系统没有安装图型界面,则需要安装相应的库文件
centos下安装:
yum install libX11-devel
yum install libXext-devel
ubuntu下安装:
apt-get install libx11-dev
apt-get install libxext-dev
3. 运行配置脚本:
./configure
4. make
编译的过程会比较长,一般需要2~3小时,需耐心等待。
5. 安装 make install
默认安装到 /usr/local/Trolltech/Qt-4.8.6 目录下:
6. 设置环境变量
vi setenv.sh
QTDIR=/usr/local/Trolltech/Qt-4.8.6
QTCREATOR=/opt/qtcreator-4.0.3
PATH=$QTDIR/bin:$QTCREATOR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
7. 运行Qt
有两种方法运行Qt:
<1>source setenv.sh之后在终端都可以用qmake,uic,designer,qtcreator等工具了.
<2>双击Applications/Programming里的Qt Creator.
8. 使环境变量永久有效
编辑 /etc/profile 文件
sudo vi /etc/profile
在最后一行增加sh /senenv.sh路径/setenv.sh
五、安装ARM Embeded类型的QT框架
1. 解压qt-everywhere-opensource-src-4.8.6.tar.gz
2. 修改mkspecs/linux-arm-gnueabi-g++/qmake.conf文件,具体修改内容如下:
--- qmake.conf.old 2014-04-11 02:37:12.000000000 +0800
+++ qmake.conf 2019-04-16 12:56:47.435021259 +0800
@@ -14,14 +14,14 @@
include(../common/g++-unix.conf)
# modifications to g++.conf
-QMAKE_CC = arm-linux-gnueabi-gcc
-QMAKE_CXX = arm-linux-gnueabi-g++
-QMAKE_LINK = arm-linux-gnueabi-g++
-QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++
+QMAKE_CC = arm-linux-gcc
+QMAKE_CXX = arm-linux-g++
+QMAKE_LINK = arm-linux-g++
+QMAKE_LINK_SHLIB = arm-linux-g++
# modifications to linux.conf
-QMAKE_AR = arm-linux-gnueabi-ar cqs
-QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
-QMAKE_STRIP = arm-linux-gnueabi-strip
+QMAKE_AR = arm-linux-ar cqs
+QMAKE_OBJCOPY = arm-linux-objcopy
+QMAKE_STRIP = arm-linux-strip
load(qt_config)
2. 创建config.sh配置脚本,或者将之前已有的脚本拷贝过来。
-------------------config.sh start-------------------------------
#!/bin/sh
export PATH=$PATH:/work/toolchain/4.4.3/bin/
./configure -prefix /usr/local/arm/qt-arm/QtEmbedded-4.6.2-arm9 \
-opensource \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-gnueabi-g++ \
-depths 8,16,24 \
-fast \
-qt-sql-sqlite \
-qt-zlib \
-qt-freetype \
-little-endian \
-no-qt3support \
-declarative \
-scripttools \
-javascript-jit \
-no-svg \
-no-audio-backend \
-multimedia \
-no-xmlpatterns \
-script \
-no-largefile \
-qt-libjpeg \
-qt-libtiff \
-qt-libmng \
-qt-libpng \
-no-opengl \
-no-iconv \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-sse3 \
-no-ssse3 \
-no-sse4.1 \
-no-sse4.2 \
-no-neon \
-no-avx \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-cups \
-no-glib \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs
-------------------config.sh end--------------------------------
export PATH=$PATH:/work/toolchain/4.4.3/bin/
交叉编译工具的路径,根据实修改
-prefix /usr/local/arm/qt-arm/QtEmbedded-4.6.2-arm9 选项定义软件安装路径,可以根据实际情况去修改。
3.执行config.sh脚本开始配置过程。
如果在配置过过程中需要修改别的内容,可以用3
make confclean 命令先清理之前生成的配置,然后再重新配置
4.创建make.sh编译脚本
-------------------make.sh start--------------------------------
#!/bin/sh
export PATH=$PATH:/work/toolchain/4.4.3/bin/
make
-------------------make.sh end----------------------------------
5.执行make.sh脚本开始漫长的编译过程。
6.最后的安装步骤与DeskTop版本的按装骤步一样。
五、编译过程中可能遇到的错误及其解决方法
[编译qt-desktop时:]
错误: Package gstreamer-app-0.10 not found
安装:
yum install gstreamer-plugins-base-devel
[编译qt-arm时:]
错误:/opt/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决办法:
查询依赖关系
yum whatprovides libstdc++.so.6
安装库文件
yum install libstdc++-4.4.7-11.el6.i686
或者:yum -y install libstdc*
错误:/opt/FriendlyARM/toolschain/4.4.3/lib/gcc/arm-none-linux-gnueabi/4.4.3/../../../../arm-none-linux-gnueabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
解决办法:
查询依赖关系
yum whatprovides libz.so.1
安装库文件
yum install zlib-1.2.3-29.el6.i686
当安装过程中出现文件冲突的解办法:
rpm -q -a zlib*
rpm -e zlib*
yum whatprovides zlib*
yum install zlib-1.2.3-29.el6.i686
错误:qtconcurrentiteratekernel.cpp:(.text+0x3c): undefined reference to `clock_gettime'
解决办法:
修改:vim src/corelib/Makefile 加上-lrt
LIBS = $(SUBLIBS) -L/opt/qt-everywhere-opensource-src-4.8.4/lib -lpthread -lm -ldl -lrt
基于CentOS-6.9_x64系统QT环境搭建的更多相关文章
- QT5.6.0 VS2013 Win764位系统QT环境搭建过程
QT5.6.0 VS2013 Win764位系统QT环境搭建过程 没用过QT自己跟同事要了安装包,按照同事指导方法操作安装部署开发环境结果遇到好多问题,错误网上搜遍了所有帖子也没有找到合适的解决方案. ...
- iMX287A嵌入式Qt环境搭建
目录 1.嵌入式Qt简介 2.查看开发板Qt库的版本 3.第一个嵌入式Qt程序--Hello World 4.Linux桌面版本Qt环境的搭建 5.注意 @ 1.嵌入式Qt简介 Qt 是一个跨平台的应 ...
- 我用STM32MP1做了个疫情监控平台2—Qt环境搭建
目录 1.嵌入式Qt简介 2.查看开发板Qt库的版本 3.主机搭建Qt环境 4.第一个Qt程序--Hello World 5.一些问题 @ 1.嵌入式Qt简介 Qt 是一个跨平台的应用程序开发框架.使 ...
- Linux CentOS下Python+robot framework环境搭建
Linux CentOS下Python+robot framework环境搭建 by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...
- Linux系统zookeeper环境搭建(单机、伪分布式、分布式)
本人现在对zookeeper的环境搭建做一个总结,一般zookeeper的安装部署可以有三种模式,单机模式.伪分布式和分布式,这三种模式在什么时候应用具体看大家的使用场景,如果你只有一台机器且只是想自 ...
- 阿里云ECS+CentOS 7.0+Docker+Redmine环境搭建
前言 搭建Redmine环境可以选择使用分别安装Ruby+Rails+Redmine+MySQL的方式, 但是过程中需要解决各种扰人的依赖问题.Docker为我们提供的Plan B,方便,快捷. 安装 ...
- Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试
标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9 ...
- 基于kubuntu的C/C++开发环境搭建
基于kubuntu的环境搭建 系统: kubuntu 14.04 中文输入法: SICM ibus fcitx:sougou 中文输入法的安装比较复杂,由于各种的不兼容,可能会出现各种的问题: 终端配 ...
- centos 8 集群Linux环境搭建
一.集群Linux环境搭建 1. 注意事项 1.1 windows系统确认所有的关于VmWare的服务都已经启动 打开任务管理器->服务,查看五个VM选项是否打开. 1.2 确认好VmWare生 ...
随机推荐
- Stack vs Heap
http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html Table of Contents Stack vs Heap The Stac ...
- Java接口与多态
接口 可以理解为一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成 接口的定义格式 接口的数据成员,只允许被public, static, final修饰. 接口的方 ...
- 爬虫入门之反反爬虫机制cookie UA与中间件(十三)
1. 通常防止爬虫被反主要有以下几个策略 (1)动态设置User-Agent(随机切换User-Agent,模拟不同的浏览器) 方法1: 修改setting.py中的User-Agent # Craw ...
- CVE-2015-1642 POC
月初,玄武实验室的“每日安全动态”推送了一篇office UAF漏洞利用的文章,之前对office上UAF漏洞利用占位问题有些疑问,刚好就借助这篇文章重现了一下.其中堆喷射部分不是特别稳定,漏洞成因和 ...
- Cache及(HttpRuntime.Cache与HttpContext.Current.Cache)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/avon520/archive/2009/11/25/4872704.aspx .NET中Cache有两种调用方式:Ht ...
- 在windows平台上构建自己的PHP(仅适用于php5.2)
构建步骤 1, 安装vs2008 2, 安装windows sdk 6.1 3, 下载php 5.2源码,可以从此处获取Releases(先不要解压) 4, 下载bindlib_w32.zip,htt ...
- 20140322 卡迪夫城VS利物浦,拔出重剑,有惊无险
一.菱形442 起初在客战南安普顿的时候,罗杰斯启用了菱形442阵式,阵容和今天客战卡迪夫城几乎一样,只是格伦·约翰逊打左后卫,弗拉纳甘任职右后卫,目的是为了在客场抵御卢克·肖+拉拉纳.当时库蒂尼奥的 ...
- 针对ie的css hack
/* IE9 , IE10 ,IE11 */ @media screen and (min-width:0\0) { /* IE9 , IE10 ,IE11 rule sets go here * ...
- MATLAB入门学习(整合)
整合一下,都是链接地址: MATLAB入门学习(一):初次使用.. MATLAB入门学习(二):矩阵相关 MATLAB入门学习(三):矩阵常用函数 MATLAB入门学习(四):编写简单.m文件和函数文 ...
- Mybatis 和Spring整合之原始dao开发
F:\Aziliao\mybatis\代码\31.mybatis与spring整合-开发原始dao 1.1. SqlMapConfig.xml <?xml version="1.0&q ...