其實參與QtCreator開發也很容易


http://bbs.csdn.net/topics/370241186

10個月前發過一個組建Qt團隊,共同研究、學習、完善QtCreator的帖子,不過在為QtCreator提交完一個補丁后,就沒有再繼續了。
期間心里一直抱有歉意:名不符實的一個倡議。

近期在使用專門為KDE打造的發行版Chakra時,感覺很對自己的品味。
自然,也離不開QtCreator這個用Qt寫的開源跨平台IDE了。

感覺QtCreator的開發是非常專業的,代碼的質量非常高!
而且,參與開發的人比較多,比較熱鬧:你寫的合並請求,總會有開發人員來檢查,並提出一些很好的建議。這對自己的編程能力提高是有幫助的。

而且我發現:要參與QtCreator的開發,並不需要多少Qt的知識。
我只看了Qt開發入門教程的前三章(汗:《Windows程序設計》上下冊都買了,也只看了前三章),覺得已經可以上手了。
如果遇到一些Qt相關的問題,只要查文檔以及Google,一般都可以解決。
同時,在QtCreator的現有代碼中查找相應用法,也是一個比較好的手段。

近期陸續提供了一些合並請求,也使得自己對Git的運用明顯得心應手了,欣喜。
通過這些請求中的代碼修改可以發現,參與QtCreator的開發也很容易!
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/382
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/397
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/398
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/401
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/402
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/403
https://qt.gitorious.org/qt-creator/qt-creator/merge_requests/404

另外,我提交的一個純C++工程(不依賴Qt庫)也被開發者采用了。同時,開發者還創建了一個基於純C的工程。
這樣,QtCreator就可以充當C/C++開發、學習的一個IDE了。

我現在在Linux平台下使用GCC/GDB,而在Windows平台下使用的卻是MSVC/CDB。
發現QtCreator的一個非常優勢的地方是:調試器非常好用!
STL的容器也好,Qt的容器也好,結果輸出都很友好。
而代碼完成功能,在開源IDE里,也僅次於Eclipse CDT了。

下面是我寫的一個Windows平台下的處理:用於編譯QtCreator的。
大家要注意:文檔要單獨編譯,之后還要在QtCreator的設置里添加開發文檔。
通過閱讀開發文檔,可以幫助了解QtCreator的架構。

@echo off

qmake "CONFIG+=release" ..\QtCreator\QtCreator.pro
jom && nmake docs

if %errorlevel% neq 0 goto error

set DESTDIR=D:\MrDeng\DEVx86\qt
nmake INSTALL_ROOT=%DESTDIR% install

rem qtcreatorcdbext32
if not exist %DESTDIR%\lib\qtcreatorcdbext32 mkdir %DESTDIR%\lib\qtcreatorcdbext32
xcopy /D /Y %~dp0\lib\qtcreatorcdbext32\*.dll %DESTDIR%\lib\qtcreatorcdbext32
rem dlls
xcopy /D /Y %~dp0\bin\*.* %DESTDIR%\bin
rem docs
xcopy /D /Y /S /I %~dp0\share\doc %DESTDIR%\share\doc
rem translations
rmdir /S /Q %DESTDIR%\share\qtcreator\translations

goto success

:error
echo 編譯失敗!
goto finish

:success
echo 編譯成功!
goto finish

:finish

 這是我用來編譯Qt的:

一、編譯動態發布版
修改編譯選項(mkspecs\win32-msvc2010\qmake.conf):
QMAKE_CFLAGS_RELEASE    = -O2 -Os -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -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,然后替換所有“ -Zi”和“ /DEBUG”為空,目的是編譯Qt庫時不生成pdb文件。
編譯Qt庫結束后,再恢復“ -Zi”和“ /DEBUG”選項。

配置:
configure -confirm-license -opensource -prefix D:\MrDeng\DEVx86\qt -debug-and-release -shared -platform win32-msvc2010 -fast -no-qt3support -nomake demos -nomake examples -nomake translations

編譯安裝:
1. 拷貝目錄mkspecs至D:\MrDeng\DEVx86\qt
2. nmake && nmake install

后期處理:
1. 清除重復的DLL(將qt\lib目錄中的DLL全部刪除)
2. 清除多余的幫助文檔(先運行qt\bin\assistant.exe,以便更新qt\doc\pch;然后刪除qt\doc\src和qt\doc\html)
3. 還原qmake.conf,恢復“ -Zi”和“ /DEBUG”選項

私有頭文件:
xcopy /S /I include\*_p.h ..\include
xcopy /S /I src\*_p.h ..\src
在Qt源碼目錄中執行上述命令,之后將..\include和..\src目錄拷貝到D:\MrDeng\DEVx86\qt中!

演示與示例:
1. 重新配置及編譯安裝
configure -confirm-license -opensource -prefix D:\MrDeng\DEVx86\qt -release -shared -platform win32-msvc2010 -fast -no-qt3support -nomake demos -nomake examples -nomake translations
cd demos && nmake && nmake install && cd .. && cd examples && nmake && nmake install && cd ..
2. 刪除demos目錄下*.exe
3. 刪除examples目錄下所有release目錄及*.exe
4. 為demos和examples目錄下所有文件添加只讀屬性

二、編譯靜態正式版
修改編譯選項(mkspecs\win32-msvc2010\qmake.conf):
QMAKE_CFLAGS_RELEASE    = -O2 -Os -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -MT -Zi

修改鏈接選項:
QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO /OPT:REF /OPT:ICF
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF

配置及編譯:
configure -release -platform win32-msvc2010 -fast -static -opensource -no-qt3support
nmake

 通過這些方法得到的Qt開發環境,其實只有269MB。
附帶上MSVC編譯器綠色版,以及一些工具等,也才675MB
通過配置QtCreator綠色版,打包后137MB,可以在任何一台電腦上解壓並且進行開發了。
感興趣的朋友可以體驗下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM