我使用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
答案 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 ......并与全世界分享,这太棒了!
希望这会对你有帮助!