Ubuntu上qt环境的构建
写在前面.......这个教程好像比较早一点了,现在介绍一个新的思路:
整体参见如下步骤(for zedboard):
1.首先下载qt-opensource-linux.run文件,然后跟在Windows下安装程序一样,双击即可出现图像安装界面。而且,里面会附带qtcreater,不用另行安装。这个时候桌面版Qt已经构建好了!
可参考如下链接:https://blog.csdn.net/xqhrs232/article/details/63251450
2.如果需要编译出arm平台下运行的qt程序,则接着安装qt-everywhere-opensource-src,即进行下面的步骤(一),省去步骤(二)。如果不需要就已经结束了qt的安装和环境构建。
一、安装QT Library:
1,下载qt安装包(压缩包)
2,从Windows上复制到ubuntu下的指定目录,并解压tar xzvf qt-everywhere-opensource-src-4.8.6.tar.gz
3,安装一个编译qt时要用的东西sudo apt-get install g++(也可以在安装之前输入g++ -v,看一下是否已经安装过)
4,安装以下三个库文件sudo apt-get install libx11-dev libxext-dev libxtst-dev(如果已经安装过,会有提示)
5,使用cd命令进入解压后的文件夹cd /../qt-everywhere-opensource-src-4.8.6 (..表示自己放置的具体目录)
6,里面有个configure.exe文件,执行它 ./configure (注意不要.exe)
7,接着选择 o —— 代表开源版,然后输入yes进行漫长的等待
8,然后输入make,这样会生成QT库,同时编译所有演示程序
9,QT编译完成后,安装QT,注意需要root权限,sudo make install
10,QT安装完毕后,首先进入QT安装目录测试QT是否安装成功 cd /usr/local/Trolltech/Qt-4.8.6/bin,然后输入 ./qmake -v,如果出现Qmake版本信息,则表明QT已经安装成功。
11,设置环境变量。执行gedit ~/.bashrc 添加如下内容:
QTDIR=/usr/local/Trolltech/Qt-4.8.6/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
之后重启。
12,接下来就可以按照
qmake -project 。。。
qmake 。。。
make 。。。
的步骤执行qt程序了。
后续问题.............
在linux虚拟机中,使用qtcreator创建工程时,在项目菜单栏中,发现没有Applications这个选项。(如果是单独装qtlibrary和qtcreate可能会有这个问题,否则能自动检测到版本)
原因:没有添加Qt版本(qmake路径)!!!
解决方法:找到菜单栏的Tools选项,然后找到build & run选项,再找到Qt Versions选项,最后手动设置添加qmake路径就可以了。如下图:
另外为了能够编译ARM下的qt程序,需要对QtCreater进行配置
如上,进入build & run >> Compiler >> Add >> 添加一个GCC >> name(填写方便区分的) >> Compiler Path(这里如果放在/root目录下,可能存在没有读取权限的情况,这个时候就手敲以便目录,进去然后选择里面的arm-xilinx-linux-gnueabi-g++
然后在Kit里面添加,主要更改名字,编译器,Qt版本。
还有后续...............
要想在目标板里运行编写好的Qt程序,除了要将编译好的ARM版的qt程序复制到rootfs分区的home文件夹之外,还需要将编译好的ARM版本Qt库复制到文件系统中,即
cp -rf /usr/local/Trolltech /media/root/rootfs/usr/local
运行的时候,先进入home目录
cd /home
然后执行qt应用程序(假设名字为Hello)
./Hello -qws
Ubuntu上qt环境的构建的更多相关文章
- ubuntu上lamp环境搭建
首先,介绍个彻底删除linux已经安装的软件的方法. sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-5. ...
- RabbitMQ系列(一)RabbitMQ在Ubuntu上的环境搭建
环境配置 Ubuntu Server 18.04 RabbitMQ 3.6.10 安装之前 我们使用apt-get进行RabbitMQ安装,在安装之前,强烈建议您把apt源换位国内,大大增加下载安装的 ...
- Ubuntu上Qt之简单图片浏览器
>>主要功能: (1)图片切换浏览,上一张/下一张. (2)图片放大.缩小.包括两种机制:鼠标滚轮和按钮放大/缩小. (3)图片自动循环播放,间隔2s.点击播放后,其他操作均无效,直至点 ...
- Ubuntu上Qt+Tcp网络编程之简单聊天对话框
首先看一下实现结果: >>功能: (1)服务器和客户端之间进行聊天通信: (2)一个服务器可同时给多个客户端发送消息:(全部连接时) 也可以只给特定的客户端发送消息:(连接特定IP) ...
- ffmpeg 在ubuntu上编译环境搭建和开发
步骤如下: 1. 下载 官网永远是王道,呵呵:http://ffmpeg.org/download.html 或者 svn checkout svn://svn.mplayerhq.hu/ffmpeg ...
- Ubuntu上CUDA环境搭建
1.下载CUDA:https://developer.nvidia.com/cuda-toolkit-archive (如果已经安装了N卡驱动,最好用.deb,如果没有安装,可以用.run) 2.根据 ...
- RabbitMQ在Ubuntu上的环境搭建
1.修改/etc/apt/sources.list文件 A:命令:vi /etc/apt/sources.list B:在最后一行加上:deb http://www.rabbitmq.com/debi ...
- Ubuntu下 QT添加外部链接库(.so文件)示例
参考:https://blog.csdn.net/KKALL1314/article/details/81915354 https://forum.qt.io/topic/80301/file-not ...
- ubuntu 上已经安装libxml2还提示需要reinstall的解决方法
最近在ubuntu上配置环境,遇到一些奇怪的问题,已经安装了libxml2了,运行 apt-get install libxml2提示已经是最新版本了,可以在安装软件的时候还是提示没有libxml2, ...
随机推荐
- Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)和Zookeeper会话
一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupI ...
- 性能优化系列七:SQL优化
一.SQL在数据库中的执行过程 二.执行计划 1. ACID 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节.事务在执行过程中发生错误,会 ...
- Mybatis(一)走进Mybatis与FisrtExample
前言 一直在使用,从未系统的总结起来.所以这里给大家带来的是mybatis的总结,系统大家能够对这个框架有一定的系统的学习与认识. mybatis和Hibernate应该是现在主流的ORM框架了. m ...
- Linux命令行下常用的快捷键
ctrl+a:光标移到行首.ctrl+e:光标移到行尾.ctrl+b:光标左移一个字母ctrl+f:光标右移一个字母 ctrl+h:删除光标前一个字符,同 backspace 键相同.ctrl+d:删 ...
- 如何处理MySQL每月5亿的数据
第一阶段:1,一定要正确设计索引2,一定要避免SQL语句全表扫描,所以SQL一定要走索引(如:一切的 > < != 等等之类的写法都会导致全表扫描)3,一定要避免 limit 100000 ...
- C语言的标准库和系统调用
http://blog.csdn.net/yusiguyuan/article/details/23181327 Linux系统调用这部分经常出现两个词:libc库和封装函数,不知道你是否清楚它们的含 ...
- Javascrit 总结
1. 数组三种表达方法 第一种 var arr = new Array(1,2,3); document.writeln(arr+"<br/>"); 第二种 var a ...
- easyui---form表单_validatebox验证框
第一种方式:混合写法 $("#password").validatebox({ }) <td><input type="text" name= ...
- day9 九、函数
一.函数 1.函数:可以完成特定功能的代码块,函数就是存放代码块的容器 2.定义函数的语法: 函数四部分:(函数执行的本质:执行函数体,得到函数返回值) ①函数名 ②函数体 ③返回值 ④参数 用def ...
- 【PPT大放送】MPD软件工作坊北京站圆满落幕 深圳站即将开幕!
MPD工作坊深圳站体验票开启啦!文末有彩蛋哦! 7月14日至15日,由麦思博(msup)有限公司举办的第40届MPD软件工作坊在北京国家会议中心举行. 麦思博(msup)有限公司一直专注于软件研发中心 ...