测试系统环境:Ubuntu12.04 (32bit/64bit)
编译软件环境:QT5.5.0
 

本文章主要介绍Linux下QT静态编译环境的搭建,以及如何编译我们的程序board_driver。

1. 下载QT5.5.0源码
进入http://download.qt.io/official_releases/qt/5.5/5.5.0/single/

下载qt-everywhere-opensource-src-5.5.0.tar.gz放到Linux系统。
 
2. 解压Qt源码:
解压命令:tar –xvf qt-everywhere-opensource-src-5.5.0.tar.gz
 
3. 编译源码
3.1 进入解压目录后,执行命令:

参数说明:
1) 参数-static指的是采用静态编译Qt的方法
2) 参数-debug-and-release指的是编译debug和release版本(也可以只编译release版本)
3) 编译选项:
sudo ./configure -static -fontconfig -debug-and-release -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -nomake tests -qt-xcb -nomake examples -skip qtwebkit -prefix /usr/local/Trolltech/Qt-5.5.0-static
这些编译模块选项是更好确定Qt编译出的程序能在目前不知的系统下运行。
 
4)参数-prefix /usrlocal/Trolltech/Qt-5.5.0-static指明静态编译的Qt安装的目录,命名Qt-5.5.0-static是为了区分动态编译安装的Qt,因为如果没有这个参数,安装时会覆盖之前动态编译安装的Qt(如果有的话)。
 
5) 参数 -fontconfig,由于之前在编译测试的时候,运行程序后Gui界面中无法显示中文的问题,经查阅资料,发现是缺少fontconfig造成的,故加上该项。
 
6) 注意:由于加上-fontconfig编译项后,在编译过程中可能会出错,提示fontconfig未通过,这是由于缺少freetype相关头文件造成的,所以首先要保证freetype开发库已经安装: 
    sudo apt-get install libfreetype6-dev,
安装后发现freetype头文件没在标准路径,于是做软链接 
    ln -s /usr/include/freetype2/freetype /usr/include/freetype,
另外还需要安装fontconfig开发库
    sudo apt-get install libfontconfig1-dev
 
3.2 中途提示选择版本,选o和yes,配置成功如下:

3.3 编译配置成功后执行make编译:

3.4 Make编译后执行make install:

经过漫长的编译过程后,最终会在 usr/local/Trolltech 目录下生成Qt-5.5.0-static,此时需要为Qt设置一些特定的环境变量。
 
命令:gedit ~/.profile,然后在后边添加

配置完环境变量,重启。然后查看一下qmake版本,输入命令:qmake –v

4. 选择字体
Qt5中移除了qtconfig,所以只能使用qtconfig-qt4,如果没有安装这个包,可以输入命令:
    apt-get install (包名)
 
http://blog.sina.com.cn/s/blog_6f3d8a850102vwfx.html

Qt5.5.0在Linux下静态编译(加上-fontconfig编译项才能显示中文) good的更多相关文章

  1. Qt5.5.0在Windows下静态编译(修改参数以后才能支持XP)good

    测试系统环境: windows 7 编译软件环境: vs2013 + QT5.5.0 [源码地址:http://download.qt.io/official_releases/qt/5.5/5.5. ...

  2. QT5.7.0在win10下使用visual studio 2015编译(目标平台 xp)

    环境:win10+vs2015+QT5.7.0 目标:编译出能在windows xp上运行的QT 通过baidu和bing找出来的结果没有一个能成功运行,大部分都能编译成功,并完美解决“exe不是有效 ...

  3. Linux下静态库生成和使用

    Linux下静态库生成和使用 一.静态库概念 1.库是预编译的目标文件(object  files)的集合,它们可以被链接进程序.静态库以后缀为”.a”的特殊的存档(archive file)存储. ...

  4. Linux下搭建 Cocos2d-x-2.1.4 编译环境

    [tonyfield 2013.09.04 ] 参考 Linux下搭建 Cocos2d-x-2.1.4 编译环境 导入 HelloCpp 例程 1. Java 入口 HelloCpp.java Hel ...

  5. opencv 4.0 + linux下静态编译,展示详细ccmake的参数配置

    #先安装 cmake 3.14 # cmake安装到了 /usr/local/bin #配置PATH export PATH="$PATH:/usr/local/bin" #下载最 ...

  6. Linux下静态编译Qt程序

    一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序 ...

  7. 用C写一个web服务器(三) Linux下用GCC进行项目编译

    .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...

  8. linux下静态库和动态库一些东西

    http://www.cnblogs.com/changefuture/archive/2011/12/22/2297460.html Linux  动态链接库和静态库示例 文件预览 文件目录树如下, ...

  9. linux下静态链接库的用法

    最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func' 关于unde ...

随机推荐

  1. 【P084】立体图

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 小渊是个聪明的孩子,他经常会给周围的小朋友们讲些自己认为有趣的内容.最近,他准备给小朋友们讲解立体图,请 ...

  2. 关于Dagger 2的文章汇总

    首先是我真正看懂了的第一篇文章 代码GG之家的 Dagger2图文详解 这篇文章很直接,还配有代码demo.至少我是看懂了. Dagger2 使用详解 这篇文章同样配有demo,同时文末还有很多有用的 ...

  3. mac下通过brew安装的Nginx在哪

    反正我的是在/usr/local/etc下,看网上的资料似乎都不太一样. 一些常用nginx命令 nginx -s reload :修改配置后重新加载生效 nginx -s stop :快速停止ngi ...

  4. C#后台调用前台js方法

    前台js方法(写在head标签之内) <script type="text/javascript" language="javascript"> f ...

  5. 最近更新电脑管家开机速度约慢很多木有?$计算机管理-废话$.qmgc

    最近更新电脑管家开机速度约慢很多木有? 一旦开机速度是几十秒,由于前几天更新电脑管家,大约几十秒钟成为一个点开机时间! 同样在一个多垃圾清理桌面图标! 右键菜单也看不到属性 须要到下面位置查看: wa ...

  6. http_load测试入门

    大致步骤: 1.在对应文件夹下边新建.TXT文件: 2.在该文件下填上待测试URL地址,建议100行以上: 3.管理员权限CMD,对应目录下运行命令即可,如: a)     http_load -pa ...

  7. sklearn 下的流行学习(Manifold Learning)—— sklearn.manifold

    1. t-SNE from sklearn.manifold import TSNE X_proj = TSNE(random_state=123).fit_transform(X) 2. t_sne ...

  8. OpenCV实现马赛克和毛玻璃滤镜效果

    一.马赛克效果 马赛克的实现原理是把图像上某个像素点一定范围邻域内的所有点用邻域内随机选取的一个像素点的颜色代替,这样可以模糊细节,但是可以保留大体的轮廓. 以下OpenCV程序实现马赛克效果,通过鼠 ...

  9. intel edison with grove lcd

    由intel xdk,例如,下面的过程能够打印Hello world至grove lcd上 var mraa = require ('mraa'); var LCD = require ('jsupm ...

  10. Linux性能测试 uptime命令

    uptime 命令用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况. 以下是 uptime 的运行实例: :: up days, min, users, load avera ...