Qt 5的git源碼編譯,qtgit源碼編譯

來源:互聯網
上載者:User

Qt 5的git源碼編譯,qtgit源碼編譯

Qt 5的git源碼編譯

         由於一些需求,需要接觸Qt3D。雖然Qt 3D還沒有問世,但是據稱已經差不多完成了。Qt 3D的組建是2.0,將會併入Qt 5.5中。現在還是有一些途徑來擷取Qt 3D的。那就是使用git擷取最新的源碼進行編譯。花了好幾天的時間,終於成功了。下面分享一下心得。

蔣彩陽原創文章,首發地址:http://blog.csdn.net/gamesdev/article/details/43404647。歡迎同行前來探討。

1、下載並且安裝git forwindows。git是開源世界協同工作的版本控制工具,這裡下載就不再贅述了。

 

2、下載ActivePerl,在產生repository的時候是非常有用的。

http://downloads.activestate.com/ActivePerl/releases/5.20.1.2000/ActivePerl-5.20.1.2000-MSWin32-x64-298557.msi

 

3、找到Qt 5的gitorious鏡像

git@gitorious.org:qt/qt5.git

可以使用https協議clone,也可以使用git協議clone。如果使用git協議進行clone,需要ssh。使用git bash,輸入ssh-keygen,按照提示產生公開金鑰和私密金鑰。在gitorious網站中進行註冊,最後將產生的id_rsa.pub編輯複製粘貼到gitorious網站中。

4、隨便找一個檔案夾,比如說

G:/Qt5-Dev

在這裡面點擊右鍵菜單,有一個git bash,在這裡就可以進行菜單操作了。

 

5、首先將遠端資料clone下來。

git clone git@gitorious.org:qt/qt5.git .

6、因為在git bash中,是msys互動環境,也就是和Unix一樣的sh環境,這個和Windows的命令提示字元(CommandPrompt)不一樣,所以要按照Unix的方法設定環境變數。

export PATH=\

/e/Develop/Perl64/bin:\

/e/Develop/Git/bin:\

/e/Develop/Qt5.4/Tools/mingw491_32/bin:\

/e/Develop/Python3.4

這裡讓Perl的位置在Git之前,因為ActivePerl是官方推薦的Perl,Git中也有Perl,但是我嘗試了一下,使用下列命令的時候會出錯:

"GetOptionsFromArray" is notexported by the Getopt::Long module

Can't continue after import errors atinit-repository line 196

BEGIN failed--compilation aborted atinit-repository line 196.

導致無法進行,所以盡量使用ActivePerl來完成任務。

 

7、使用Perl命令添加庫

標準情況下,使用

perl init-repository就可以了。

如果需要指定初始化的庫,那麼使用–module-subset指定模組。因為我需要選用並且測試Qt3D,所以這麼寫:

perl init-repository–module-subset=qtbase,qtsvg,qtdeclarative,qttools,qtxmlpatterns,qtdoc,qlalr,qtrepotools,qtqa,qtlocation,qtgraphicaleffects,qtimageformats,qtxmlpatterns,qtquickcontrols,qt3d

如果上次沒有完成,那麼可以指定-f來強制重新初始化。這其中可能要求多次輸入密碼,密碼沒有回顯,請注意。

 

8、這個時候開始configure編譯了,一般來說只需要

configure.bat ^

-developer-build -confirm-license-opensource ^

-debug-and-release

就可以了。

 

9、使用mingw32-make進行編譯。命令是

mingw32-make -j 4

使用四個線程對Qt進行編譯。

 

10、由於是developer-build,最好不要makeinstall,直接在源碼上使用吧。因為開發人員版可能有各種各樣的問題,所以在這個時候排錯會好一些。我就是使用debug版進行錯誤排除的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.