2015-10-29 62 views
6

我已經使用Qt創建了非Qt C++(CMake)項目,並且能夠使用MinGW,MSVC編譯器構建它。如何使用QtCreator爲Android/iOS構建基於CMake的項目

簡而言之,當我打開我的測試項目時,我可以在運行CMake窗口下選擇生成器。我有其他平臺的問題。

當我試圖爲Android添加套件時,列表中沒有可用的生成器。我在Macbook上嘗試過同樣的事情,但也存在同樣的問題。

我需要在這個問題上的幫助,我無法得到適當的步驟來構建基於CMake的項目爲Android/iOS使用QtCreator。

P.S.安裝的CMake版本是3.2.1和Qt版本是5.5,我已經安裝了Android SDK,NDK和和Java

回答

4

我很想告訴你「只需在選項對話框中選中此框,它就可以工作」,但不幸的是,沒有生成器可用於從CMakeLists.txt文件構建Android/iOS項目。

我找到了替代品,在任何情況下,我不認爲你有機會來港的整體巨大的基於CMake的項目是用於在Windows上運行(有許多庫和第三方庫)在Android上工作不到工作的幾天.... ;-)

  • Personnaly,我寫了一個小的CMake功能從我的CMake的腳本手動生成.pro文件。它開始很小,但現在很龐大,很難與你分享。但是,基本上,我在Qt論壇上從this post開始。它會創建一個簡單的.pro文件,該文件不會很糟糕,然後可以根據自己的需要進行擴展。我喜歡這個解決方案,因爲我可以完全控制生成的.pro文件(我現在可以在PC,Android和iOS上構建...但我很難完成這個工作)。

  • 顯然,還有一種方法可以使用這個開源代碼添加Qt-android CMake支持:https://github.com/LaurentGomila/qt-android-cmake。但我從來沒有嘗試過。你可能想看看它。如果它有效,那麼寫一個自己的腳本生成.pro文件可能會更方便。顯然,它使用androidqtdeploy構建Android apk,但不使用QtCreator。還有iOS支持。最好的可能是讓CMake提出一個QtCreator「generator」(它會生成.pro文件,就像CMake在使用Visual Studio生成器時生成sln/vcproj文件或爲g ++生成器生成文件時一樣)。 ,但是沒有支持這樣的發生器。我前一段時間向CMake團隊彙報了這個問題,希望他們能夠解決這個問題。我明白有沒有計劃這樣做,因爲CMake只將「編譯器」作爲「發生器」,而「QtCreator」不是真正的「編譯器」,而是使用外部「編譯器」構建的「IDE」(MinGW ,MSVC,CLang,Android的NDK g ++ ...)。這是一種遺憾,因爲CMake知道你所有的項目信息,並且可以很容易地生成一個.pro文件....因此,CMake是開源的,可以使用定製的QtCreator文件生成器來擴展CMake ...並與全世界共享,這將是美好的!

希望這會幫助你!