2015-10-29 61 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 ...并与全世界共享,这将是美好的!

希望这会帮助你!