写在前面.......这个教程好像比较早一点了,现在介绍一个新的思路:
整体参见如下步骤(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, ...
随机推荐
-
PHP 中获取当前时间[Datetime Now]
在 PHP 中可以通过date()获取当前时间,在>5.2的版本中最好还是用 datetime 类型 date() <?php echo date('Y-m-d H:i:s'); ?> ...
-
DIH中添加不同的数据源
需求:从mysql数据库中读取一个知识记录,从记录表中的字段值中获取一个文件路径,读取xml文件,xml文件中可能包含多个文档内容.建立索引. xml文件样例: <?xml version=&q ...
-
Visual Studio Team Foundation Server 2015(TFS 秘钥、序列号)
Visual Studio Team Foundation Server 2015 序列号:PTBNK-HVGCM-HB2GW-MXWMH-T3BJQ
-
ssh免密码登录记录
做mha.hadoop安装过程中都要用ssh免密码登陆,查过一些资料,踩过很多坑,下面用简单记录一下 首先要安装ssh linux : centOS 6.5 yum -y install *ssh* ...
-
Effective C++_笔记_条款09_绝不在构造和析构过程中调用virtual函数
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 为方便采用书上的例子,先提出问题,在说解决方案. 1 问题 1: ...
-
nginx二级域名配置自动跳转到一级域名
nginx二级域名配置自动跳转到一级域名 rewrite配置内容: if ($http_host !~ "^www.aaa.com$") { rewrite ^(.*) http: ...
-
css中设置div水平居中,margin:0px auto无用的情况
在CSS中加了margin:0px auto;却没有效果,不能实现居中的问题!margin:0px auto;意思就是:上下边界为0.左右依据宽度自适应!就是水平居中的意思.无效的原因是,当你没有设置 ...
-
Flask web 开发出现错误:TypeError: Allowed methods have to be iterables of strings, for example: @app.route(..., methods=[";POST";])
没有发现普通都语法错误,然后一一比对官方教程里面的代码,发现是在“@bp.route('/<int:id>/delete', methods=('POST'))”这一行代码里面method ...
-
kaldi运行thchs30例子
首先,thchs30有两种数据库,kaldi运行的数据库最好是 thchs30-openslr. 修改run.sh里面的语音库路径 thchs30=... 修改nj线程数 等于CPU的核心数 修改c ...
-
《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度
20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...