Qt Creator的安装与Qt交叉编译的配置

Posted 专注it

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt Creator的安装与Qt交叉编译的配置相关的知识,希望对你有一定的参考价值。

Qt Creator 的安装

到Qt官网下载Qt Creator  https://www.qt.io/download-open-source/

技术分享

其它旧版本点击Achieve连接下载

技术分享

或登录http://download.qt.io/下载

技术分享

下载前记得查看自己的linux系统情况

uname-a

我的是

技术分享技术分享

技术分享

1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32位的cpu.
2. X86_64 适用于intel的Core 2 Duo, Centrino Core 2 Duo, and Xeon 和AMD Athlon64/x2, Sempron64/x2, Duron64等采用X86架构的64位cpu.
所以只能下载32bit的Qt Creator


如果下载64bit的qtcreator的话,不能安装,运行是会报错
 Syntax error: word unexpected (expecting ")")。明显系统不兼容错误


本人下载的是qt-creator-opensource-linux-x86-3.4.0-rc1.run


复制到虚拟机中修改权限
chmod 777 qt-creator-opensource-linux-x86-3.4.0-rc1.run

运行直至安装完毕

./qt-creator-opensource-linux-x86-3.4.0-rc1.run


1.配置qmake

1.配置linux虚拟机的x86qmake,这个比较简单

打开qtcreator,依次进入 工具--->选项--->构建和运行

技术分享

技术分享

1.点添加选GCC

2.点右侧浏览设置编译器路径,注意Qt编译的是c++程序,因此选g++而不是gcc

3.按右侧浏览添加调试器路径

4.添加Qt版本,我这是以前添加的不是交叉编译出的qmake的Qt4.8版本

5找出不是交叉编译的qmake文件

6.随你修不修改版本名称

注意:添加工具链的时候要选你当时在虚拟机编译Qt源文件时的编译工具,必须要一一对应。(安装了多个版本编译工具的虚拟机更要注意)

不然编译是会找不到该编译工具而无法编译。


2.配置交叉编译出的qmake

如何交叉编译Qt库,请看链接 http://blog.csdn.net/stanly00/article/details/53033283

打开qtcreator,依次进入 工具--->选项--->构建和运行

技术分享

技术分享

1.添加GCCE(嵌入式)

2.选择交叉编译器工具

3.选择调试工具(可选可不选),在虚拟机调试编译过了,交叉编译肯定会过,除非编译器的版本有差异

4.添加Qt版本(添加的是你交叉编译出的qmake路径)或按Browse添加


我添加的是交叉编译出的Qt5.6源文件的qmake,但是报错,说无效的Qt版本

解决办法:?里是解决问题的关键”默认的mkspace symlink奔溃了

其实就是mkspace里的一个软连接破坏了或丢失了


我的是丢失了,进入qt5.6交叉编译安装好的mkspce文件夹下,输入红框命令设置默认软连接

技术分享

注意:Qt5和Qt4 版本不同,qt4编译生成的linux-arm-gnueabi-g++文件夹在qws文件夹中,而qt5编译出的linux-arm-gnueabi-g++文件夹只在mkspace中,千万不要把别的版本的linux-arm-gnueabi-g++文件夹复制到目标文件夹,要一一对应,只要在目标文件夹找出qt交叉编译后的配置文件夹------> linux-arm-gnueabi-g++文件夹,进行软连接即可,尚未尝试过硬连接。

然后再设置Qt版本,终于不报错了

技术分享

随便新建个qt程序,配置编译

技术分享

这是qt5.6交叉编译出的配置

记住:交叉编译工具要与交叉编译安装qt5.6源码时的配置要一致,否则编译时会报错:can not find arm-linux-genuabi-g++,找不到交叉编译工具。

技术分享

编译成功但启动不了,交叉编译只能下载到开发板运行

技术分享技术分享技术分享

交叉编译出的qt程序不能运行只能切换到虚拟机版qmake编译并在虚拟机运行

技术分享

我新建时 的项目是qt4,但交叉编译时的项目是qt5,由于版本差异,也会报错

错误:QtGui/QApplication: No such file or directory

解决:

1.pro文件里,QT += core gui 改为 QT += core gui widgets

2..h文件里,#include <QtGui/QApplication>改为#include <QApplication>

Qt5的变化倒是挺大的。


还可以用命令行编译qt程序

编译好qt,设置环境变量

vim ~/.bashrc,添加以下内容

技术分享

为 了方便区分qmake版本,我把交叉编译的qmake版本改名为qmake-arm

mv qmake qmake-arm

查看是否配置成功

技术分享技术分享技术分享

这样以来就可以用qmake-arm工具交叉编译qt程序了

随便新建qt程序命名为qtt(可在qtcreator下创建),包括以下文件

技术分享

1.用qmake-arm -project命令生成.pro工程文件

技术分享

技术分享

2.修改工程文件  gedit qtt.pro

技术分享

注意:qt5版本需添加QT +=core gui widgets


3.执行 qmake-arm 命令生成Makefile

技术分享

4.编译 make

技术分享

生成一大堆的.o文件,其中红框的是交叉编译完的qt程序,下载到开发板运行。

技术分享

转载请注明出处







































以上是关于Qt Creator的安装与Qt交叉编译的配置的主要内容,如果未能解决你的问题,请参考以下文章

Qt creator交叉编译带图片的程序出现问题,版本4.7

如何在 QT Creator 开源版本中为嵌入式 linux 交叉编译 qt

嵌入式V3s交叉编译 tslib和QT4.8.7,并使用Qt Creator编译项目

QtCreator配置交叉编译工具链

QT 使用 MinGW 启用交叉编译(预编译)

如何在Linux下用QT creator搭建mips-linux交叉编译开发环境,如果您熟悉ARM-linux环境搭建的话也希望你能指