qt编译

来源:互联网 发布:遮光罩 知乎 编辑:程序博客网 时间:2024/05/16 05:43

原文地址:http://wiki.qt.io/Building-Qt-5-from-Git


下载源码:

git clone git://gitorious.org/qt/qt5.git qt5

进入源码目录:

cd qt5git checkout 5.4
更新代码:

perl init-repository


如果原来已有,则强制更新:

perl init-repository -f

如果不想下载指定模块:

perl init-repository -f -no-webkit -no-qtcanvas3d -no-qt3d

参数:-no-module


工具与依赖:详见官网


配置:


linux下配置:

./configure -opensource -nomake examples -nomake tests

android 配置:
./configure -opensource -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/android-ndk -android-sdk /home/android-sdk/sdk -android-toolchain-version 4.8 -android-ndk-platform android-18 -no-sql-sqlite -prefix /usr/local/Qt-5.5.0-android

linux下mingw配置:

./configure -release -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- -opensource -nomake examples -nomake tests -I /home/rabbitim/ThirdLibary/unix_mingw/include -L /home/rabbitim/ThirdLibary/unix_mingw/lib -no-sql-sqlite


 android 下还要设置环境变量:

export ANDROID_API_VERSION=android-18

参数说明:

platform:本机工具链(configure工具会自动检测);xplatform:目标机工具链

qt工具和库分为本机工具和目标机工具、库两部分

  1. qmake、uic、rcc、lrelease、lupdate 均为本机工具,需要用本机工具链编译
  2. qt库都是目标机的库,所以需要目标机的工具链
编译:

make -j2

安装:

make install

安装执行完成后,需要在安装后bin目录下增加文件qt.conf

[Paths]
Prefix=..

清理代码:

git submodule foreach --recursive "git clean -dfx"

清理脚本:

#!/bin/shif [ -z $1 ]; then        echo "use:$0 dir"        returnfiecho $1for i in `ls $1`;do        if [ -d $1/${i} ]; then                echo "$1/${i}"                cd $1/${i}                git clean -xdf        fidone





qtwebkit编译:

需要工具:bison flex gperf ruby icu-devtools

需要的库:libicu


linux下依赖:

* openssl:

* Libxcb:

        sudo apt-get install "^libxcb.*" libx11-xcb-dev libxrender-dev libxi-dev

* libicu:(qtwebkit需要)

        sudo apt-get install libicu-dev

* opengl

        sudo apt-get install build-essential
        sudo apt-get install mesa-common-dev libglu1-mesa-dev

* libasound2、libgstreamer

        sudo apt-get install libasound2-dev
        sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

* libfontconfig (需要这个库才能用系统字体,会调用系统 freetype,否则会调用qt自己的freetype。qt自己的freetype字体不含中文)

        sudo apt-get install libfontconfig1-dev




0 0
原创粉丝点击