您的位置:首页 > 编程语言 > Qt开发

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

2011-10-24 00:10 429 查看
首先是准备工作,去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 静态编译版的编译器 [b] mingw-static-4.4.5-all.7z 解压到
C:\QtSDK\mingw 目录,为什么?
[/b]

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

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

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

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



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

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐