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, ...
随机推荐
- CentOS Nginx网站服务器搭建实例
Nginx是一款开源的高性能HTTP服务器和返向代理服务器. 下载.编译.安装模块: [root@localhost nginx-1.4.0]#wget http://nginx.org/ ...
- Spark学习笔记——读写Hbase
1.首先在Hbase中建立一张表,名字为student 参考 Hbase学习笔记——基本CRUD操作 一个cell的值,取决于Row,Column family,Column Qualifier和Ti ...
- 和我一起学Effective Java之泛型
泛型 不要在新代码中使用原始类型 泛型(generic):声明中具有一个或多个类型参数 原始类型(raw type):不带任何实际类型参数的泛型名称 格式: 类或接口的名称 < 对应于泛型形式类 ...
- Linux命令行下常用的快捷键
ctrl+a:光标移到行首.ctrl+e:光标移到行尾.ctrl+b:光标左移一个字母ctrl+f:光标右移一个字母 ctrl+h:删除光标前一个字符,同 backspace 键相同.ctrl+d:删 ...
- Scala中的协变,逆变,上界,下界等
Scala中的协变,逆变,上界,下界等 目录 [−] Java中的协变和逆变 Scala的协变 Scala的逆变 下界lower bounds 上界upper bounds 综合协变,逆变,上界,下界 ...
- time时间模块
时间模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该首先导入这个模块. #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行.单位为秒. 2.time.time( ...
- 有时候不用explode截取字符串了,可以用用substr()
substr() 截取出来的是一位数组, 比如:<?php echo substr("Hello world",6); ?> 意思就是截取出前六个字符,只 ...
- Semver(语义化版本号)扫盲
最近Github 10周年在朋友圈里沸沸扬扬刷屏,小编在工作中却惊讶的发现不少同事对版本号中的beta和rc没有概念,使用 npm install package@next 时,也不清楚next代表的 ...
- acm入门练习心得
A题 两数相加等于n相乘等于m 问是否存在两数 写了超级久没有写出来,因为我的思路是 把m的因子都找出来,加加看,看等不等于n.后来发现m的因子还要考虑负数的情况,还要考虑m是不是负数的情况.太过麻 ...
- djiango web 在进入admin的时候出现'set' object is not reversible错误
解决方案是在你的urls.py 中 把{ } 改为[] 原因不详 治标不治本,并不能改的东西