Qt Creator的安装与Qt交叉编译的配置
Qt Creator 的安装
到Qt官网下载Qt Creator https://www.qt.io/download-open-source/
其它旧版本点击Achieve连接下载
下载前记得查看自己的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交叉编译的配置的更多相关文章
- centos 下 Qt Creator 的安装使用
centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...
- 关于windows下QT以及QT creator的安装
普及 之 windows下qt的安装及配置 qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态 ...
- QT:QT Creator下载安装
学习自: QtCreator5.12.6安装图文教程 - 知乎 (7条消息) Qt Creator下载安装_芒种.的博客-CSDN博客 (7条消息) QT5.11下载与安装教程_杨书航的博客-CSDN ...
- Windows下的Qt Creator的安装
采用Qt和Qt creator分别下载和安装的方式:(需要手动设置关联Qt和Qt Creator) 一.软件下载 从http://qt-project.org/downloads分别下载Qt和Qt ...
- Windows下OpenCV 3.1.0 在 Qt Creator 4.0.2 (Qt 5.7.0 MinGW) 中的开发环境配置
2017-2-23 Update: 修改并添加了部分细节 最近正在学习OpenCV ,为毕业设计做准备.Windows版本的OpenCV都默认提供对VS的支持,其在VS中的配置比较简单,网上也有大批教 ...
- Qt环境搭建(Qt Creator)+Visual Studio
1.http://www.cnblogs.com/ranjiewen/p/5318768.html 简述 经常有人问我编写Qt程序时使用什么IDE,其实这个真的很难回答(各有所长),只能说看个人爱好了 ...
- qwt 6.1.0集成进Qt creator 2.8.1步骤
环境准备与文件编译 ·关于Qt 发现一个Qt正确安装的教程,非常棒!http://www.wikihow.com/Install-Qt-SDK-on-Ubuntu-Linux Qt版本是4.8.5,在 ...
- QT creator中使用opencv
最近要用到opencv做图像方面的东西,网上很多是用VS加opencv,但自己对VS不怎么喜欢,想用QT Creator.在网上搜索了很多资料,终于花了一天的时间,在QT Creator上能使用ope ...
- QT QT creator QTsdk的区别
Qt是一个跨平台的C++图形用户界面应用程序框架.它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程. QT Creator 跨平台 ...
随机推荐
- Educational Codeforces Round 46 (Rated for Div. 2)
A - Codehorses T-shirts 思路:有相同抵消,没有相同的对答案+1 #include<bits/stdc++.h> #define LL long long #defi ...
- Java 中 List 向前和向后遍历
Java 中 List 向前和向后遍历 import java.util.*; public class TestCollectionIterator { public static void mai ...
- ie6 css 返回顶部图标固定在浏览器右下角
比较常用记录一下. #e_float{ _position:absolute; _bottom:auto; _right:50%; _margin-right:-536px; _top:express ...
- Django实现单用户登录
最近由于要毕业了写论文做毕设,然后还在实习发现已经好久都没有写博客了.今天由于工作需求,需要用Django实现单用户登录.大概意思就是跟QQ一样的效果,每个账号只能一个地方登录使用,限制账号的登录次数 ...
- quartz定时任务,已过期的内容自动下线
概念: Quartz是一个开源的作业调度框架,可以让计划的程序任务一个预定义的日期和时间运行.Quartz可以用来创建简单或复杂的日程安排执行几十,几百,甚至是十万的作业数. 框架架构: 简单实例: ...
- asp.net core集成CAP(分布式事务总线)
一.前言 感谢杨晓东大佬为社区贡献的CAP开源项目,传送门在此:.NET Core 事件总线,分布式事务解决方案:CAP 以及 如何在你的项目中集成 CAP[手把手视频教程],之前也在工作中遇到分布式 ...
- Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan
Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan ARP侦查工具——Netdiscover Netdiscover是一个主动/被动的AR ...
- Unity全面优化
前言 Unity的项目优化已经是老生常谈,很多人在项目完成之后,即便创意新颖,也会觉得差强人意,原因就在于没有做详细的项目优化.众所周知,Unity是一个综合性的3D开发引擎,其中包含图像渲染,逻辑处 ...
- [BZOJ4825][HNOI2017]单旋(线段树+Splay)
4825: [Hnoi2017]单旋 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 667 Solved: 342[Submit][Status][ ...
- 【树哈希】poj1635 Subway tree systems
题意:给你两颗有根树,判定是否同构. 用了<Hash在信息学竞赛中的一类应用>中的哈希函数. len就是某结点的子树大小,g是某结点的孩子数+1. 这个值也是可以动态转移的!具体见论文,所 ...