原文地址:http://wiki.qt.io/Building-Qt-5-from-Git
下载源码:
git clone git://gitorious.org/qt/qt5.git qt5
进入源码目录:
cd qt5
git 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工具和库分为本机工具和目标机工具、库两部分
- qmake、uic、rcc、lrelease、lupdate 均为本机工具,需要用本机工具链编译
- qt库都是目标机的库,所以需要目标机的工具链
make -j2
安装:
make install
安装执行完成后,需要在安装后bin目录下增加文件qt.conf
[Paths]
Prefix=..
清理代码:
git submodule foreach --recursive "git clean -dfx"
清理脚本:
#!/bin/sh
if [ -z $1 ]; then
echo "use:$0 dir"
return
fi
echo $1
for i in `ls $1`;
do
if [ -d $1/${i} ]; then
echo "$1/${i}"
cd $1/${i}
git clean -xdf
fi
done
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