如何使用QtCreator为Android / iOS构建基于CMake的项目

时间:2015-10-29 07:06:06

标签: android c++ ios qt

我使用Qt创建了一个非Qt C ++(CMake)项目,我可以使用MinGW,MSVC编译器构建它。

简而言之,当我打开我的测试项目时,我可以在Run CMake Window下选择生成器。我对其他平台有疑问。

当我尝试为Android添加套件时,列表中没有可用的生成器。我在Macbook上尝试过同样的事情,也存在同样的问题。

我在这个问题上需要帮助,我无法使用QtCreator为Android / iOS构建基于CMake的项目。

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

1 个答案:

答案 0 :(得分:5)

我很想告诉你“只需在选项对话框中选中此框即可”,但不幸的是,没有可用于从CMakeLists.txt构建Android / iOS项目的生成器文件。

我找到了替代方案,在所有情况下,我认为你没有机会移植一个曾经在Windows上工作的大型基于CMake的项目(有很多库和第三方库)在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“生成器”(它会生成.pro文件,就像CMake在使用Visual Studio生成器时生成sln / vcproj文件或者生成文件用于g ++生成器.... ),但没有支持这样的发电机。我前段时间向CMake团队报告过,希望能解决这个问题。我明白有没有计划这样做,因为CMake只将“编译器”定位为“生成器”而“QtCreator”实际上不是“编译器”,它是使用外部“编译器”构建的“IDE”(MinGW) ,MSVC,CLang,Android的NDK g ++ ...)。这很遗憾,因为CMake知道你所有的项目信息并且可以很容易地生成.pro文件....因此,CMake是开源的,可以使用自定义QtCreator文件生成器扩展CMake ......并与全世界分享,这太棒了!

希望这会对你有帮助!