QtCreator 静态编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QtCreator 静态编译相关的知识,希望对你有一定的参考价值。

如果要自己编译,可以参考下面的过程及需要的文件
一、文件准备,下面用到的文件,可以自行到相应官网下载。我在网盘上也共享了:
① qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe
http://yunpan.cn/QpMMWfEYnM4fg
静态编译来,只是用里面的mingw。但从搭建开发环境的角度,也建议安装。
② qt-everywhere-opensource-src-5.2.1.zip
http://yunpan.cn/Q4sYIFjYcPbRa
③ Python3.3
http://yunpan.cn/QDApXxWyXUDPW
不编译qtwebkit,就不用安装ActivePerl了。
二、安装
① 安装 qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe ,我是安装在C:\QT\Qt5.2.1
② 将 qt-everywhere-opensource-src-5.2.1.zip 解压到C:\QT\
③安装Python C:\Python33
三、编译准备
编辑C:\QT\qt-everywhere-opensource-src-5.2.1\qtbase\mkspecs\win32-g++\qmake.conf
找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,后面赋值为-static
QMAKE_LFLAGS        = -static
QMAKE_LFLAGS_DLL    = -static 
保存,退出
(如果不做这个修改,生成的执行文件要依赖libgcc_s_dw2-1.dll,libstdc++-6.dll,libwinpthread-1.dll)
四、开始编译
开始==》程序==》Qt5.2.1==》5.2.1==》MinGW 4.8(32-bit)==》Qt 5.2.1 for Desktop (MinGW 4.8 32 bit)
进入命令窗口,输入命令
① cd C:\QT\qt-everywhere-opensource-src-5.2.1
② set path= C:\Python33;%path%
③ 配置
configure -confirm-license -opensource -platform win32-g++ -release -static -ltcg -prefix "C:\QT\5.2.1-mingw32-rel-static" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -no-qml-debug -nomake tests -nomake examples -skip qtwebkit -qt-pcre -no-compile-examples
④ 没出什么错误的话,mingw32-make 
⑤ mingw32-make install
五、QtCreator配置
编译好后,在QtCreator中加新编译的qt kits。
打开QtCreator, Tools-->options-->build & run-->
Debuggers选项卡,应该有个C:\Qt\5.2.1\Tools\mingw48_32\bin\gdb.exe 调试器,如果没有,就点击Add,手工加一下。
Compilers选项卡,也应该有MinGW4.8 32bit编译器,如果没有,手工加,指向C:\Qt\5.2.0\Tools\mingw48_32\bin\g++.exe
QtVersions选项卡,应该已经存在C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin\qmake.exe
现在把自己编译的加进来,点Add按钮,选择C:\Qt\5.2.1-mingw-rel-static\bin\qmake.exe,可以给这个Qt编译版本取个名字,比如Qt 5.2.1 (5.2.1-mingw-rel-static) 点Apply
Kits选项卡,点Add,
name我们随便取一个,比如5.2.1_rel_static,
Compiler选择MinGW4.8 32bit,
Debugger,选择C:\Qt\5.2.1\Tools\mingw48_32\bin\gdb.exe对应的那个
QtVersion,选择Qt 5.2.1 (5.2.1-mingw-rel-static) ,确定,就设置好了。


注:静态编译时,如果工程中使用了插件,需要在pro文件中为QTPLUGIN加上对应的插件才能正常使用,如odbc, sqlite, 打印
    QTPLUGIN += qsqlodbc 
    QTPLUGIN += qsqlite
    QTPLUGIN += windowsprintersupport

以上是关于QtCreator 静态编译的主要内容,如果未能解决你的问题,请参考以下文章

Qt5.2.0 MinGW480 release静态版编译结果过程及QtCreator配置分享(realfan的编译方法)(configure -h可以显示帮助)(静态编译mysql插件,需要做一些

Qt如何实现静态编译与动态编译共存

VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

QT静态库静态编译

Qt静态编译发布和动态编译发布

静态 QT 编译问题