这里主要讲linux下的编译,windows下面比较简单
依赖
sudo apt-get install"^libxcb.*"libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
编译选项
configure -confirm-license -opensource -static -release -no-qml-debug -qt-freetype -qt-xcb -nomake tests -nomake examples -skip qtwebkit -prefix /usr/local/Qt-5.3.2-static
1.这里的-qt-freetype必须加上,另外要检查configure后的fontconfig是不是yes,如果不是,中文空白
如果fontconfig是no,执行 sudo apt-get install libfontconfig*,安装 libfontconfig1-dev等开发包,然后再configure
2.这里的-qt-xcb看起来应该是编译qt内部的xcb库,有了这个,可以少安装很多libxcb的开发包
qtcreator编译设置
1.先通过Qt Versions 选择Qt-5.3.2-static目录下面的qmake.exe,然后qtcreator自动识别
2.接着去构建套件中复制一份配置,qt版本选择qt-5.3.2-static
3.然后就是打开.pro文件,添加上CONFIG += static
命令行编译设置
cd 工程目录,qmake生成makefile,修改makefile的cxxflag选项,加上 -static,然后直接make,感觉这样比qtcreator生成的要小,
还且可以在当前目录生成可执行程序
可能遇到的问题
1.no module found QT: Script-private, 这个原因经过测试,发现只要单独进入QtScript工程目录单独编译一次,然后再退出,全部make一次就ok了
2.中文空白,如上,是编译的时候没有选上-qt-freetype或者fontconfig开发包没安装
3.unicode/uchar.h 这个是因为编译qwebkit导致的,原因不明,skip后就可以了
ok,一切完毕!