虽然Qt命运多舛,但是也阻挡不了程序员对它的喜爱。经历了一系列波折之后,现在到在芬兰公司Digia手中,Qt又将迎来一个发展。Qt5就是在这种情况之下发布的。正值Ubuntu刚刚发布了13.04版,我就在这个环境下尝试配置Qt5的开发环境,并记录下来,给有同样需要的朋友作为参考。

1. 如果要使用Qt的商业版,需要向Digia公司(http://qt.digia.com/)购买授权,但是用于学习目的,我们可以选择LGPL授权版本,下载地址为:http://qt-project.org/。我这里下载的是”Qt 5.0.2 for Linux 32-bit”版本,文件名是”qt-linux-opensource-5.0.2-x86-offline.run”。

2. 进入下载目录,在Ubuntu终端下面执行下面的语句,无需root权限:

./qt-linux-opensource-5.0.2-x86-offline.run

3. 接下来就会出现Qt安装对话框,点击”next”执行下一步:

4. 接下来选择安装位置。因为使用的不是root权限,所以建议安装在用户目录下:

5. 选择需要安装的组件,这个根据需要选择就可以了:

6. 选择LGPL许可协议:

7. 点击”Install”开始安装:

8. 耐心等待安装完成:

9. 点击”Finish”完成安装:

10. 运行Qt Creator,我们发现已经是简体中文界面了:

11. 我们运行一个示例看下有没有问题,就选择”2D Painting Example”吧:

12. 我们发现Qt Creator报告了一个问题:”Qt Creator 需要设置一个编译器来构建。在构建套件选项里设置一个编译器。”。看来是编译器的问题。

13. 我的机器还没有安装GCC和G++,在终端里执行下面的语句,安装编译器:

sudo apt-get install g++

14. 安装完编译器后,重新打开Qt Creator,发现已经可以编译了,但是报告一个错误:”GL/gl.h:No such file or directory”。这是因为机器没有安装OpenGL库,执行下面的语句安装即可:

sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev

15. 安装完成后,再次编译运行,发现示例程序成功运行起来了:

16. 到这里Qt Creator就安装完成了

  • 在终端(Shell)下编写Qt代码,而不是在Qt Creator中,下面的步骤说明了这种情况下需要做的工作:

1. 将qmake的路径加入环境变量中,在我机器上qmake的路径是”/home/lev/Qt5.0.2/5.0.2/gcc/bin”,大家在配置时需要改成自己的路径。使用vim(或其他编辑工具)编辑”.bashrc”文件,仅对本用户有效:

vim /home/lev/.bashrc

2. 在最后一行PATH变量中加入qmake的路径,格式类似”PATH=$PATH:/my_new_path:”,不同路径用冒号隔开:

export PATH="/opt/microchip/xc8/v1.12/bin:/home/lev/Qt5.0.2/5.0.2/gcc/bin":$PATH

3. 重启终端或执行以下语句,使新的环境变量生效:

$source ~/.bashrc

4. 这时就可以在终端下直接编写Qt程序了。下面看我编写的例子:

新建一个文件夹”hello”,进入这个目录,使用vim编写代码:

mkdir hello
vim hello.cpp

编写代码:

#include <QApplication>
#include <QLabel> int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}

执行以下语句:

qmake -project
qmake hello.pro make

现在生成了可执行文件hello,执行它,就会弹出窗口了:

至此全部搞定。

Ubuntu 13.04下构建Qt5开发环境的更多相关文章

  1. Ubuntu 12.04下搭建Qt开发环境

    http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...

  2. ubuntu 14.04下搭建esp32开发环境

    esp32是乐鑫出品的一款集成了wifi和蓝牙的集成模块,板上自带两个哈佛结构的Xtensa LX6 CPU双核处理器,本文主要讲解如何在linux下搭建其编译开发环境. 首先ctrl+alt+t打开 ...

  3. Ubuntu 14.04下搭建 Android 开发环境(1) -JDK安装

    1.下载最新的jdk安装,地址:http://www.oracle.com/technetwork/java/javase/downloads/ 2.解压jdk-8u20-linux-x64.gz,我 ...

  4. Ubuntu 16.04下配置Golang开发环境

    安装之前先要明白两个变量,后面介绍安装时,会用这两个变量 GOROOT   , 这是go的工作目录,比如 /home/[替换为你的用户名]/go/work GOPATH    , 这是go的安装目录, ...

  5. ubuntu 13.04下MYSQL 5.5环境搭建

    解决的问题: 安装mysql server和mysql client 5.5 新建远程账户 远程访问权限 MYSQL默认字符集修改为UTF8 检查防火墙 一.安装 BTW:可以使用查找命令查看安装包 ...

  6. 在 Ubuntu 13.10 中搭建Java开发环境 - 懒人版

    本文记录我在Ubuntu 13.10中搭建Java开发环境. 本文环境: Ubuntu 13.10 x64运行在Win7下的VMware Workstation 10中. 1. 安装JDK与JRE s ...

  7. Ubuntu 12.04 搭建 Eclipse Android 开发环境(转)

    Ubuntu 12.04 搭建 Eclipse Android 开发环境 http://blog.sina.com.cn/s/blog_93dc666c0101b39p.html (2012-09-0 ...

  8. OK335xS Ubuntu 12.04.1 版本 Android 开发环境搭建

    /******************************************************************************************** * OK33 ...

  9. eclipse在Ubuntu 13.04下的安装过程

    eclipse在Ubuntu 13.04下的安装过程及问题小记 一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:ht ...

随机推荐

  1. GATT服务搜索流程(二)

    关于bta_dm_cb.p_sec_cback,这里我们之前已经分析过,他就是bte_dm_evt ,最终调用的函数btif_dm_upstreams_evt : static void btif_d ...

  2. nginx解决前端跨域配置

    在nginx.conf文件中 添加如上配置: 在ajax中将原来的 url:http://192.168.1.127:8905/findItem 改成:'http://localhost/findIt ...

  3. 使用Hexo+Github搭建属于自己的博客(进阶)

    主题的配置:这里以NexT主题作为题材 1.安装NexT,在其文件夹中鼠标右键,点击Git Base Here.输入命令:git clone https://github.com/iissnan/he ...

  4. .Net并行编程(一)-TPL之数据并行

    前言 许多个人计算机和工作站都有多个CPU核心,可以同时执行多个线程.利用硬件的特性,使用并行化代码以在多个处理器之间分配工作. 应用场景 文件批量上传 并行上传单个文件.也可以把一个文件拆成几段分开 ...

  5. LeetCode Search Insert Position (二分查找)

    题意 Given a sorted array and a target value, return the index if the target is found. If not, return ...

  6. Houdini toolset environment variable setting

    Game Development Toolset HOUDINI_PATH = "C:\Users\fooldrifter\Documents\houdini17.5\GameDevelop ...

  7. Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)-A-Single Wildcard Pattern Matching

    #include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> ...

  8. 《Linux内核分析》第六周学习小结

    进程的描述和进程的创建 一.进程的描述 进程描述符task_struct数据结构: (1)操作系统的三大功能: 进程管理.内存管理.文件系统 (2)进程的作用: 将信号.进程间通信.内存管理和文件系统 ...

  9. let命令和块级作用域

    学习了阮一峰老师的ES6,http://es6.ruanyifeng.com/,收益良多. 一.let命令1.概念:let命令用于声明变量,和var类似,但是使用let命令所声明的变量只有在该变量所在 ...

  10. Beta 冲刺报告模板

    Beta 冲刺报告模板 十分钟左右站立会议,控制好时间,不要在此会议上讨论细节问题. 每组一份博客,组内共享,每人都需提交. 模板 队名:xxx 组员1(组长) 过去两天完成了哪些任务 文字/口头描述 ...