测试系统环境: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. fastjson空对象不显示问题

    今天在网上找了半天,看到一个大神自己搭建的网站,贴出了这个问题的解决办法,大家共享一下,对那些牛X的大神膜拜吧. 例子: Map < String , Object > jsonMap = ...

  2. 你的服务器没有正确响应Token验证的解决方法

    你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 原文: ...

  3. Android Studio中创建java项目

    1.创建普通的android工程 2.创建一个module 3.module类型选择java library 4.填写libary和class的名字 5.生成的工程如图所示 6.然后点击Run --- ...

  4. MATLAB Toolbox Path Cache is out of date and is not being used的解决

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用mcc编译MATLAB\R2009a\extern\examples\compiler目录下的hello.m,编译 ...

  5. 利用WPF建立自己的3d gis软件(非axhost方式)(七)实现简单的粒子效果

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(七)实现简单的粒子效果 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew密 ...

  6. WPF 通过位处理合并图片

    原文:WPF 通过位处理合并图片 本文告诉大家,在使用 WPF 合并两张图片的处理,可以使用像素之间的与或和异或的方式,对三个颜色的通道进行处理. 先给大家看一下软件的界面 这就是通过将左边的两张图片 ...

  7. mongose TypeError: Cannot read property 'findOne' of undefined

    最近在node的一个项目中,需要在model的一个数据表中写一个钩子函数去调用另外一个文件中的方法,一开始我采用了将此方法放入到global中,直接从global.meteod这样去获取.后来我又尝试 ...

  8. Android 如何检索Android设备的唯一ID

    关于本文档 Android的开发者在一些特定情况下都需要知道手机中的唯一设备ID.例如,跟踪应用程序的安装,生成用于复制保护的DRM时需要使用设备的唯一ID.在本文档结尾处提供了作为参考的示例代码片段 ...

  9. Java10 新特性

    Java 10 新特性 这次发布的 Java 10,新带来的特性并不多. 根据官网公开资料,共有 12 个 JEP(JDK Enhancement Proposal 特性加强提议),带来以下加强功能: ...

  10. Android-apktool反汇编异常-Input file (XXX) was not found or was not readable.

    问题描述: 原因: 在apptool 2.0以后命令发生了变化,不能再使用 apktool d <apk_path> <outfile_path> 解决方法:解决方法: 使用命 ...