16,224
社区成员
发帖
与我相关
我的任务
分享
一、编译动态发布版
修改编译选项(mkspecs\win32-msvc2010\qmake.conf):
QMAKE_CFLAGS_RELEASE = -O2 -Os -GL -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -GL -MD -Zi
修改链接选项:
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /OPT:REF /OPT:ICF
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF
修改完成后,备份qmake.conf,然后:
1. 替换所有“ -Zi”和“ /DEBUG”为空,目的是编译Qt库时不生成pdb文件
2. 替换所有“ -EHsc”为空,目的是编译Qt自身时禁用异常
配置:
configure -confirm-license -opensource -prefix D:\qpSOFT\DEVx86\qt -debug-and-release -shared -platform win32-msvc2010 -fast -no-stl -no-qt3support -nomake demos -nomake examples -nomake translations
编译安装:
1. 拷贝目录mkspecs至D:\qpSOFT\DEVx86\qt
2. nmake && nmake install
3. 编译qdoc3的release版本
cd tools && cd qdoc3 && nmake release-all && copy /B /Y ..\..\bin\qdoc3.exe D:\qpSOFT\DEVx86\qt\bin && cd ..\..
私有头文件:
xcopy /S /I include\QtCore\*_p.h ..\include\QtCore
xcopy /S /I include\QtGui\*_p.h ..\include\QtGui
xcopy /S /I include\QtScript\*_p.h ..\include\QtScript
xcopy /S /I include\QtDeclarative\*_p.h ..\include\QtDeclarative
xcopy /S /I src\corelib\*_p.h ..\src\corelib
xcopy /S /I src\gui\*_p.h ..\src\gui
xcopy /S /I src\script\*_p.h ..\src\script
xcopy /S /I src\declarative\*_p.h ..\src\declarative
在Qt源码目录中执行上述命令,之后将..\include和..\src目录拷贝到D:\qpSOFT\DEVx86\qt中!
推荐通过一个批处理(private.bat)来完成这个工作。
演示与示例:
1. 重新配置
configure -confirm-license -opensource -prefix D:\qpSOFT\DEVx86\qt -debug -shared -platform win32-msvc2010 -fast -no-stl -no-qt3support -nomake translations
2. 编译安装
cd demos && nmake && nmake install && cd .. && cd examples && nmake && nmake install && cd ..
3. 编译qtdemo的release版本
cd demos && cd qtdemo && nmake release-all && copy /B /Y ..\..\bin\qtdemo.exe D:\qpSOFT\DEVx86\qt\bin && cd ..\..
后期处理:
1. 清除重复的DLL(将qt\lib目录中的DLL全部删除)
2. 清除多余的帮助文档(先运行qt\bin\assistant.exe,以便更新qt\doc\pch;然后删除qt\doc\src和qt\doc\html)
3. 恢复qmake.conf,恢复“ -Zi”、“ /DEBUG”选项以及“ -EHsc”选项
4. 删除demos目录下*.exe
5. 删除examples目录下所有*debug*、*release*及*.exe
6. 为demos和examples目录下所有文件添加只读属性
二、编译静态正式版
修改编译选项(mkspecs\win32-msvc2010\qmake.conf):
QMAKE_CFLAGS_RELEASE = -O2 -Os -GL -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -GL -MT -Zi
修改链接选项:
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /OPT:REF /OPT:ICF
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF
配置及编译:
1. 备份qmake.conf,之后替换所有“ -EHsc”为空,目的是编译Qt自身时禁用异常
2. configure -confirm-license -opensource -release -platform win32-msvc2010 -fast -static -no-stl -no-qt3support
3. nmake
4. 恢复qmake.conf