linux 下安装编译配置 QT

2023-11-06

注:

1,自己 make qt-everywhere-opensource-src s时,在./configure前主动装好下面3个
sudo apt-get install libX11-dev libXext-dev libXtst-dev\

还需要 apt-get install libxrandr-dev ,否则会有下面的报错,designer 界面乱码:

 

libxrandr-dev

 

X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0

2, 在/etc/profile 中添加 环境变量
export QTDIR=/usr/local/Trolltech/Qt-4.8.6                                                                                                                                                              
 export PATH=$QTDIR/bin:$PATH  
 export MANPATH=$QTDIR/man:$MANPATH  
 export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH


打算做嵌入式图像处理,计划方案嵌入式Linux+OpenCV+QT,昨天简单入门OpenCV今天看看QT,QT就先弄Linux下面的,回家之前争取把基本的摸通,然后能在板子上跑起来。

软件环境


Linux:Ubuntu 12.04 X86

QT:4.8.4

关于QT安装


QT的早期版本和现在版本有点变化,提供的文件也不尽相同,最新的版本为5.0,我这里用的是4.8.4,一个完整的QT应该包括QT库、IDE也就是QT creator,在Linux下的安装中,目前看到的主要有三种方法:

1、.bin文件直接安装,文件名为qt-sdk-……,一个./bin直接包括了所有相关工具,安装起来最为简单方便,但是目前的4.8.4在几个网站上已经找不到总的sdk的bin文件了,老版本的还是可以的。

2、Ubuntu下使用atp-get安装,方法如下(未验证)

sudo apt-get install qt4-dev-tools #开发包   
sudo apt-get install qtcreator #IDE  
sudo apt-get install qt4-doc #开发帮助文档   
sudo apt-get install qt4-qtconfig #配置工具   
sudo apt-get install qt4-demos #DEMO源码  QT

3、这就是本文用的方法,就是下载源码包,自己编译安装,最为麻烦,但是本来就是学习的,况且现在只能下载到源码包,那就先学习这种方法把。

软件下载


QT有好几个下载网站,这里汇总介绍,自从诺基亚公司放弃Meego、遣散Qt开发团队以后,Qt商业版本的网站移到了qt.digia.com,而开源版本则放到了qt-project.org  :

1、首先是诺基亚的官方网站http://qt.digia.com/  这个是不太方便的,想快速下载的接着看后面的。

此网站需要填写用户名和邮箱地址,下载地址会发送到邮件里,我就把我收到的地址贴出来吧。下面是邮件中的地址汇总。这里面的linux源码是commercial版本。

Qt 4.8.4 for embedded Linux

http://dist.qt.digia.com/developer/download/qt-everywhere-commercial-src-4.8.4.tar.gz

Installing Qt for embedded Linux

http://qt-project.org/doc/qt-4.8/qt-embedded-install.html

Qt Commercial Charts 1.1.0

http://dist.qt.digia.com/developer/download_charts/qt-commercial-charts-src-1.1.0.tar.gz

Qt 5.0.0 Sources

http://dist.qt.digia.com/developer/download_50/qt-everywhere-commercial-src-5.0.0.tar.gz

Qt 4.8.4 for Windows (Src and VS2008 32bit Binary)

http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.4-vs2008.exe

Qt Visual Studio Addin 1.1.11 for Qt4 (Binary)

http://dist.qt.digia.com/developer/download/qt-vs-addin-1.1.11.exe

Qt 4.8.4 for Windows (Src and VS2010 32bit Binary)

http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.4-vs2010.exe

Qt 4.8.4 for Windows (Src and MinGW 32bit Binary)

http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.4-mingw.exe

Qt Creator 2.6.1 for Windows (32bit Binary)

http://dist.qt.digia.com/developer/download_creator/qt-creator-win-commercial-2.6.1.exe

Qt 4.8.4 for Windows (Src and VS2010 64bit Binary)

http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.4-vs2010-64bit.exe

Qt Commercial Charts 1.1.0

http://dist.qt.digia.com/developer/download_charts/qt-commercial-charts-src-1.1.0.zip

Qt 5.0.0 Sources

http://dist.qt.digia.com/developer/download_50/qt-everywhere-commercial-src-5.0.0.zip

Qt 5.0.0 Offline SDK for Windows (32-bit Binary)

http://dist.qt.digia.com/developer/download_50/qt-windows-commercial-5.0.0-msvc2010_32-x86-offline.exe

Qt Visual Studio Addin 1.2.0 for Qt5 (Binary)

http://dist.qt.digia.com/developer/download_50/qt-vs-addin-1.2.0.exe

2、QT-project网站下载 http://qt-project.org/downloads

这个网站就直接而且清晰多了,分类很清楚,如下图所示。

image

需要说明的是Qt libraries 4.8.4 for embedded Linux (236 MB) 下载链接和Qt libraries 4.8.4 for Linux/X11 (225 MB) 其实下载的是一个东西,反正我看到的链接地址都是一样的,这也就是Linux下我们需要用的。另外从这个页面再下载开发所用的IDE QT Creator,这是一个bin文件,可以直接安装。

QT的编译与安装


1、拷贝文件到自己想要的文件夹,解压:

tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz

2、进入解压后文件目录,执行配置

root@emouse:~/study# cd qt-everywhere-opensource-src-4.8.4/

root@emouse:~/study/qt-everywhere-opensource-src-4.8.4# ./configure

此处也可以加上配置前缀./configure -prefix /opt/qt-4.8.4-x11

这样的话再后面编译过程中的文件会复制到/opt/qt-4.8.4-x11 这个目录下(目录不存在会自动创建),好处是源码便于管理,

关于这部分前缀配置可以我在config文件中找到这部分代码,可以参考,可以从这段代码中看出相应的配置以及没有配置的情况下默认安装目录,代码位于3594行,如下:

#-------------------------------------------------------------------------------
# post process QT_INSTALL_* variables
#-------------------------------------------------------------------------------

#prefix
if [ -z "$QT_INSTALL_PREFIX" ]; then
    if [ "$CFG_DEV" = "yes" ]; then
        QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
    elif [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
        if [ "$PLATFORM_QPA" = "yes" ]; then
    QT_INSTALL_PREFIX="/usr/local/Trolltech/QtLighthouse-${QT_VERSION}"
        else
    QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
        fi
        if [ "$PLATFORM" != "$XPLATFORM" ]; then
            QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
        fi
    elif [ -d "$EPOCROOT" ] && [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
        if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
            QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
            QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
        fi
    else
        QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION

配置过程中会有以下提示:

Which edition of Qt do you want to use ?

Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.

当然选择o啦。继续提示:

This is the  Open Source Edition.

You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 3.

Type '3' to view the GNU General Public License version 3.
Type 'L' to view the Lesser GNU General Public License version 2.1.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.

Do you accept the terms of either license?

输入yes,回车即可。接下来就会生成makefile文件,配置过程十来分钟左右。配置完毕后执行make。

接下来可以吃个饭或者睡一觉,编译时间大概3个小时左右,比较漫长,耐心等待吧。

经过漫长的等待之后,执行sudo make install来安装,会安装到/usr/local/Trolltech/Qt-4.8.4目录下。安装时间比较短,大概需要几分钟左右,至此,安装完成。

小测试一下,运行 /usr/local/Trolltech/Qt-4.8.4/bin/designer ,看见 qt 启动,如下图所示,就说明QT已经安装成功。

image

其他配置


qmake这个命令需要进行环境变量的配置才能找到的到,我看了下我的系统里已经包含了这个命令了,只是路径不一样。测试如下:

root@emouse:/# qmake -v
Qmake version: 1.07a (Qt 3.3.8b)
Qmake is free software from Trolltech ASA.
root@emouse:/# which qmake
/usr/bin/qmake

在看一下qmake的属性

image

从这个地方可以看出qmake这个命令别链接到了/etc/alternatives/qmake,还是不清楚是啥地方来的命令,继续看!找到/etc/alternatives/qmake,在看一下属性就清楚了,可以看到这个地方又链接回去了,那么如果还使用qmake命令的话实际使用的是qmake-qt3,这样就会出现错误。image也可以使用以下命令快速查看:

root@emouse:/# ls /usr/bin/qmake -ln
lrwxrwxrwx 1 0 0 23 12月 14 21:06 /usr/bin/qmake -> /etc/alternatives/qmake
root@emouse:/# ls /etc/alternatives/qmake -ln
lrwxrwxrwx 1 0 0 18 12月 14 21:06 /etc/alternatives/qmake -> /usr/bin/qmake-qt3

通过以上的分析可以知道,解决这个问题有两种方法,一个就是更改qmake的链接,使得qmake这个命令链接到安装目录下我们安装版本的qmake,还有一种方法就是改环境变量。

先说更改链接的方法,通过上面的介绍,这个其实操作就比较直接和简单了,命令和实验结果如下:

root@emouse:/# rm /etc/alternatives/qmake 
root@emouse:/# ln -s /usr/local/Trolltech/Qt-4.8.4/bin/qmake /etc/alternatives/qmake
root@emouse:/# qmake -v
QMake version 2.01a
Using Qt version 4.8.4 in /usr/local/Trolltech/Qt-4.8.4/lib

可以看到,qmake已经成功更改为4.8.4版本。

第二种办法就是更改环境变量,这个我没有尝试,有兴趣的自己验证。

vi /home/defonds/.bashrc 用来修改用户环境变量,在文件后面添加以下信息

export QTDIR=/usr/local/Trolltech/Qt-4.8.4 
export PATH=$QTDIR/bin:$PATH  
export MANPATH=$QTDIR/man:$MANPATH  
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

再修改所有用户环境变量vi /etc/profile 同样在文件后添加上面的环境变量信息。这种方法应该同样可行。

Qt-creator的安装与配置


根据上面提供的网址下载qt creator在linux下的安装文件qt-creator-linux-x86-opensource-2.6.1.bin,下面的安装就比较简单了,首先更改文件属性,使它可执行。

chmod u+x qt-creator-linux-x86-opensource-2.6.1.bin

然后运行sudo ./qt-creator-linux-x86-opensource-2.6.1.bin

接下来就是非常熟悉的安装界面了。

image

安装完成即可。接下来就可以使用这个IDE来进行开发了,这样的界面是不是在linux下很难得呢?

image

 

初步的安装就到这里,下次继续写关于嵌入式开发平台的构建。


FROM: http://blog.csdn.net/zhangliang_571/article/details/33552531

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 下安装编译配置 QT 的相关文章

  • QT移植步骤

    1 在开发板的跟目录下新建两个目录 mkdir mini2440 mkdir tslib 2 拷贝相关的文件 2 1把PC机下面的 usr local Trolltech QtEmbedded 4 6 3 arm lib目录下面的所有文件全
  • QT事件--阐述的比较系统

    转载 http www qtcn org bbs simple t31383 html Another Look at Events 再谈Events 最近在学习Qt事件处理的时候发现一篇很不错的文章 是2004年季刊的一篇文章 网上有这篇
  • qDebug 学习小结

    在qtcentre中看到有网友问这样一个问题 Why this doesn t work qDebug lt lt Test lt lt std endl 第一反应 这两个东西本来就不能这样搭配使用啊 第二反应 额 如何解释这个问题呢 还真
  • QT学习之三:Qt Creator2.4.1的开发环境的配置和测试

    1 系统环境 主机操作系统 ubuntu10 04 主机编译器 gcc4 4 3 交叉编译器 arm linux gcc 4 3 2 前提条件 搭建好qt4 6 3的三个编译版本 PC X86 ARM 2 安装 Qt SDK Lin32 o
  • 从Qt5的改变看最佳头文件包含风格?QT5找不到#include头文件在哪里

    老版本 C C code 1 2 include
  • QT模态对话框

    下面来说说模态对话框 什么是模态对话框 所谓模态 就是在对话框弹出来之后 能够阻塞后面的窗口 Windows 上一般在退出时会弹出来一个问你是否保存的对话框 就是一个模态对话框 当它出现的时候 后面的窗口是不能点击的 必须要你关闭这个对话框
  • 在CXXLD libwebkitgtk-1.0.la时候发生 ld terminated with signal 9 [Killed]错误

    当时内存几乎用完了 发生这个错误是因为内存不够 编译不过来 系统是ubuntu 11 04 2G的物理内存不够 swap分区是1G CXXLD libwebkitgtk 1 0 la collect2 ld terminated with
  • [Qt]不带标题栏(FramelessWindowHint)的窗体移动及调整大小

    Qt窗体若设置了 setWindowFlags Qt FramelessWindowHint 运行后该窗体是无法进行移动和调整大小的 那要如何才能让它和普通窗体一样进行移动和调整其大小的呢 方案如下 void QFramelessWindo
  • QT布局

    布局管理 以下是Qt手册中的 布局管理 的译文 在一个Widget中 Qt布局管理系统提供了一个简单而有效的方式来自动组织子widget 以保证他们能够很好地利用可用空间 介绍 Qt包含一个布局管理类的集合 它们被用来描述widgets如何
  • qt的QLabel中的字体越界

    今天使用文泉驿的中文库wqy zenhei ttc 发现QLabel中的汉字上面切顶了 但是如果一个QLabel和一个QLineEdit并排就不会出现这种现象 最后对QLabel使用样式解决了这个问题 MyLabel gt setStyle
  • 对话框--QDialog(自定义对话框简单实例)

    dialog h头文件 ifndef DIALOG H define DIALOG H include
  • Qt之QTextEdit

    关于QTextEdit Qt5对Qt4的做了一些小的改动 看上去很多方法都发生了变化 但万变不离其中 如 槽函数setFontFamily const QFont 变为setFontFamily const QString fontFami
  • linux中编译tslib1.4出错:./autogen.sh: 4: autoreconf: not found

    autogen sh 4 autoreconf not found 是在不同版本的 tslib 下执行 autogen sh 产生 它们产生的原因一样 是 因为没有安装automake 工具 ubuntu 10 04 用下面的命令安装好就可
  • Qt出现错误 “undefined reference to `vtable for XXXXX.XXX”

    使用QT的继承类的时候本来很正常 但是添加了 Q OBJECT之后却发现出现了一大堆vtable告警 终于找到下面的解决方法了 重新qmake 如果新建一个类 继承了某个类 在这个类的头文件中式没有 Q OBJECT宏声明的 如果想使用si
  • Qt3.6.3编译pc版本的时候:collect2:ld terminated with signal 11

    Qt3 6 3编译pc版本的时候 collect2 ld terminated with signal 11 原因 是swap交换空间不够用 解决 扩大虚拟内存 具体参考下文 http hi baidu com seaeechou blog
  • QT中大connect的使用

    有时候为了测试方便 就直接在main函数中使用按钮的connect 但是必须添加QObject 否则会出错
  • Qt Resize与布局的冲突?

    问题的产生 我用QSplitter创建一个窗口布局之后 由于使用窗口默认初始大小 显示出来的比例不是很好看 因此调用了resize进行窗口大小的调整 调整之后是获得了想要的窗口大小 但是与此同时 却发现了一个问题 也就是经过resize之后
  • Qt之再谈阴影边框

    前面就窗口阴影已经写过一篇博客 使用九宫格的思路实现的 在我看来 凡是用程序能实现的尽量不要使用图片代替 在保证效率的前提下 今天再次分享关于我的一些小见解 先看效果 窗口阴影任意调节 包括阴影像素 是否圆角等 直接上代码 void Dro
  • QT学习之四:Linux 下 Qt Creator 的一个Qt 项目全过程

    Linux 下 Qt Creator 的一个Qt项目全过程 1 启动桌面上的 Qt Creator 新建工程 HelloWorld 点击 File gt New File orProject 如下图所示 2 新建类 Hello 右键单击项目
  • 简单的QT绘图程序

    当初在学MFC时 最经典的入门实例就是绘图程序 其作用相当于Console Application 下的Hello World了吧 如今入手QT 不免怀旧 于是也写了一个绘图程序 虽然简单 却也是入门必备啊 环境 OS Ubuntu 11

随机推荐

  • 设置Qt窗体透明度

    第一步给窗体设置属性 setWindowFlags Qt FramelessWindowHint setAttribute Qt WA TranslucentBackground 第二部重写paintevent 方法 void Loadin
  • GPG 错误由于没有公钥,无法验证下列签名

    问题描述 输入apt get update 时 提示 没有数字签名 无法安全地用该源进行更新 所以默认禁用该源 主要原因是由于apt get update没有公钥 无法验证下列签名 错误 1 http mirrors aliyun com
  • Vuex状态管理详解

    Vuex详解 学习目录 vuex介绍 解释 Vuex是一个专门为Vue js应用程序开发的状态管理模式 它采用集中式存储管理应用的所有组件 并以相应的规则保证状态以一种可预测的方式发生变化 配套的公共数据管理工具 它可以把一些共享的数据放到
  • Styles and Themes

    http blog csdn net recordgrowth article details 52310974
  • 下载matlab内存不足怎么办,MATLAB 内存不足 "Out of memory" 解决办法

    如果你的系统是32位系统 进程最大支配2G空间 另外2G给系统进程了 在使用matlab 运行耗内存程序时候 会可能出现 out of memory 错误 这是因为matlab没有足够内存可以使用的缘故 解决的简单方法是加内存和升级为64位
  • Flash Linux to eMMC

    实验目的 从eMMC启动Linux系统 Step1 确定eMMC被挂在哪个设备 哪个设备含有boot0分区和boot1分区 就是eMMC 实验中是位于mmcblk1上 root am64xx evm ls l dev mmcblk brw
  • QT入门Input Widgets之QScrollBar

    目录 一 界面布局功能 1 界面位置介绍 2 控件界面基本属性 2 1 horizontalScrollBar界面属性 3 样式设置 此文为作者原创 创作不易 转载请标明出处 一 界面布局功能 1 界面位置介绍 QScrollBar主要分为
  • Python使用Matplotlib可视化多组并排的柱状图

    Python使用Matplotlib可视化多组并排的柱状图 Matplotlib是Python中最流行的数据可视化库之一 它可以创建各种类型的图表 包括线性图 散点图 饼图等等 在本文中 我们将重点介绍如何使用Matplotlib库创建多组
  • CyclicBarrier调试

    一CyclicBarrier 控制所有线程等待 知道达到某种条件 所有的线程才会继续走下去 是一个同步工具类 它允许一组线程互相等待 直到到达某个公共屏障点才停止等待 与CountDownLatch不同的是该barrier 屏障 在释放等待
  • 在vw中运行linux,Windows系统直接运行Linux,竟是如此简单

    要想在Windows10以前的系统上 运行Linux程序是比较复杂的 需要使用cygwin之类的工具 不仅下载慢 而且功能有限 后来出现了诸如VirtualBox VMWare Workstation和Microsoft Hyper V之类
  • 使用python随机生成IP+域名并写入excel表

    题目要求 使用python随机生成IP 随机域名 并创建excel表 将生成的随机IP与域名数据写入 代码如下 import random import socket import struct import xlwt book xlwt
  • Window 安装Hive

    基本环境资源 Hadoop 2 7 X Hive 2 1 X bin tar gz 版本 Hive 1 x src tar gz 源码版本 第一步 windows 安装Hadoop2 7 x 请参考 第二步 下载Hive tar gz 官网
  • ASP.NET Core 企业级开发架构简介及框架汇总

    ASP NET Core 企业开发架构概述 企业开发框架包括垂直方向架构和水平方向架构 垂直方向架构是指一个应用程序的由下到上叠加多层的架构 同时这样的程序又叫整体式程序 水平方向架构是指将大应用分成若干小的应用实现系统功能的架构 同时这样
  • VScode连接本地Docker

    一 安装VScode和Docker 1 vscode的安装 官网下载到最新的X64安装包 然后使用下述命令进行安装 dpkg i code 1 73 1 1667967334 amd64 deb 安装成功之后 可以在应用的安装列表中查看到
  • OpenHarmony学习笔记——Hi3861使用DHT11获取温湿度

    文章目录 前言 DHT11简介 通信流程 硬件连接 编程实现 GPIO API简介 复位总线 DHT11应答 数据读取 效果一览 总结 目录 前言 此文主要是使用Hi3861的GPIO口 模拟1 Wire时序 获取类单总线协议器件DHT11
  • 2023中国人工智能成熟度模型报告

    本报告基于三大关键指标 参考市场规模 融资事件等公开资料 并结合了AI行业内硬件 模型 应用不同领域的各位专家观点 构建涵盖40 技术点的中国人工智能成熟度模型 为技术的应用决策和未来投资参考提供研究分析工具 关注公众号 互联互通社区 回复
  • xp系统itunes无法连接服务器失败,xp系统iTunes无法连接到iTunes store的修复步骤

    今天和大家分享一下xp系统iTunes无法连接到iTunes store问题的解决方法 在使用xp系统的过程中经常不知道如何去解决xp系统iTunes无法连接到iTunes store的问题 有什么好的办法去解决xp系统iTunes无法连接
  • NoSQL数据库入门

    一 NoSQL数据库概述 NoSQL 是一种不同于关系数据库的数据库管理系统设计方式 是对非关系型数据库的统称 它所采用的数据模型并非传统关系数据库的关系模型 而是类似键 值 列族 文档等非关系模型 NoSQL 数据库没有固定的表结构 通常
  • java截取某两个字符之间的字串_Java截取特定两个标记之间的字符串实例

    Java截取特定两个标记之间的字符串实例 如有一串字符串 higklmnopq java代码如下 public class StringTest public static void main String args String str
  • linux 下安装编译配置 QT

    注 1 自己 make qt everywhere opensource src s时 在 configure前主动装好下面3个 sudo apt get install libX11 dev libXext dev libXtst dev