Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布(转)

首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版

下载地址:http://qt.nokia.com/downloads-cn     最新是 4.7.4 版

还有一个mingw 4.4.5 静态编译版,用来解决mingwm10.dll、 libgcc_s_dw2-1.dll,两个DLL依赖的问题

下载地址是:http://code.google.com/p/qp-gcc/downloads/list

四个文件分别是:

(1) qt-creator-win-opensource-2.3.1.exe // IDE 开发框架

(2) qt-win-opensource-4.7.4-mingw.exe        // QT类库安装包

(3) Qt_SDK_Win_offline_v1_1_3_en.exe        // QT SDK 完整安装包

(4) mingw-static-4.4.5-all.7z                         // mingw 静态编译完整版

 

准备好上面四个文件之后,就可以安装了,安装顺序以上面的(1)--(4)的顺序进行安装

下面说一下安装时需要注意的地方,

第一步:安装的是 qt-creator,安装的时候记得把它自带的 mingw 编译器选上(主要是为了这个 mingw 编译器)。假如默认安装到:C:\Qt\qtcreator-2.3.1

第二步:就是安装 QT 独立类库,由于它不包含编译器,因此在安装的时候有个选项,要你选择 mingw 编译器的路径,

             指向 C:\Qt\qtcreator-2.3.1\mingw 目录就可以了。假如默认安装到:C:\Qt\4.7.4

第三步:就是安装完整版的QT SDK,默认安装到:C:\QtSDK

 

好了,接下来就是关键的静态编译了,打开 C:\Qt\4.7.4\mkspecs\win32-g++ 目录下的 qmake.conf 文件,

修改两个地方:

QMAKE_LFLAGS     = 

 

修改为

QMAKE_LFLAGS          = -static -enable-stdcall-fixup -Wl,-enable-auto-import-Wl,-enable-runtime-pseudo-reloc

再将

QMAKE_LFLAGS_DLL        = -shared

修改为

QMAKE_LFLAGS_DLL        = -static

 

然后打开“开始菜单”-->“程序”-->“Qt by Nokia v4.7.4 (MinGW OpenSource)”菜单下面的 Qt 4.7.4 Command Prompt 也就是QT 命令行,

先配置编译选项,然后再开始编译,这是命令行提示符停留在:C:\Qt\4.7.4   路径,输入以下配置命令:

configure -platform win32-g++ -release -opensource-static -fast -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -qt-zlib -qt-gif-qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-webkit -qt-style-windowsxp-qt-style-windowsvista -nomake examples -nomake docs -nomake demos

等待配置完成后,进入 src 目录,并进行编译,输入如下命令:

cd src                           // 进入源码目录

mingw32-make -i -k     // 进行静态编译

 

等待几十分钟后就能编译成功,之后就可以进行第四步了。

 

第四步:把下载的 mingw 静态编译版的编译器  mingw-static-4.4.5-all.7z 解压到 C:\QtSDK\mingw 目录,为什么?

因为我们要用第三步安装的完整版的QT SDK中带的 qt-creator IDE来进行开发,而不是第一步安装的 qt-creator。

最后的设置,打开 qt-creator 之后,点击“工具”-->“选项”对话框,点击左边的“Qt4”选项,就能看到IDE自动检测到

的 qmake ,但是自动检测的 qmake 只能生成动态编译的程序,现在我们点击右上角的“添加”按钮,找到路径

C:\Qt\4.7.4\bin ,选中该路径中的 qmake.exe 文件,并命名为 “Qt 4.7.4 静态编译”,然后确定就完成了最后的设置。

 

现在我们来新建一个Qt Gui 应用,在目标设置的时候选择“桌面”,可以看到默认的动态MinGw编译器,以及我们自己

命名的静态MinGW编译器,如下图,记得静态编译的调试是无法生成的,因为我没有把调试也进行静态编译,只是把

发布进行静态编译了。虽然安装占用的空间比较大,但是省却了要调试的时候去修改Makefile.Debug文件的麻烦。

 

转自:http://blog.csdn.net/cjyl25/article/details/6899229

posted on 2013-08-23 10:35  veins  阅读(701)  评论(0编辑  收藏  举报

导航