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

Posted

技术标签:

【中文标题】如何使用 QtCreator 为 Android/iOS 构建基于 CMake 的项目【英文标题】:How to Build CMake based project for Android/iOS using QtCreator 【发布时间】:2015-10-29 07:06:06 【问题描述】:

我已经使用 Qt 创建了一个非 Qt C++ (CMake) 项目,并且我能够使用 MinGW、MSVC 编译器来构建它。

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

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

我在这个问题上需要帮助,我无法获得正确的步骤来使用 QtCreator 为 Android/ios 构建基于 CMake 的项目。

附:安装的 CMake 版本是 3.2.1,Qt 版本是 5.5,我已经安装了 Android SDK、NDK 和 Java

【问题讨论】:

【参考方案1】:

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

我找到了替代方案,在所有情况下,我认为您没有机会移植整个基于 CMake 的大型项目,该项目曾经在 Windows 上运行(有很多库和第 3 方库)在 Android 上运行的时间更少比几天的工作....;-)

个人而言,我编写了一个小的 CMake 函数,从我的 CMake 脚本手动生成 .pro 文件。它开始很小,但现在很大,很难与您分享。但是,基本上,我是从 Qt 论坛上的this post 开始的。它会创建一个简单的 .pro 文件,它不会那么糟糕,然后您可以根据自己的需要对其进行扩展。我喜欢这个解决方案,因为我可以完全控制生成的 .pro 文件(我的现在可以在 PC、Android 和 iOS 上构建......但我很难让它完全工作)。

显然,还有一种方法可以使用以下开源内容添加 Qt-android CMake 支持:https://github.com/LaurentGomila/qt-android-cmake。但我从未尝试过。你可能想看看它。如果可行,编写自己的脚本生成 .pro 文件可能更方便。显然,它使用 androidqtdeploy 但不使用 QtCreator 构建了一个 Android apk。还有一个 iOS 支持。

1234563 ),但不支持这样的生成器。我前段时间向 CMake 团队报告了这个问题,希望他们能解决这个问题。我知道有并且不会计划这样做,因为 CMake 仅将“编译器”作为“生成器”而“QtCreator”并不是真正的“编译器”,它是使用外部“编译器”构建的“IDE”(MinGW 、MSVC、CLang、Android 的 NDK g++...)。很遗憾,因为 CMake 知道您所有的项目信息并且可以轻松生成 .pro 文件....所以,由于 CMake 是开源的,因此可以使用自定义 QtCreator 文件生成器扩展 CMake...并与全世界共享,那就太好了!

希望对您有所帮助!

【讨论】:

以上是关于如何使用 QtCreator 为 Android/iOS 构建基于 CMake 的项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在 QtCreator 中将图像转换为矩阵形式?

如何在 qml 文件 Qt Android 中使用 setMuted()

如何在 Windows 上使用 QtCreator 为 Linux 构建和调试应用程序?

如何将QtCreator项目转换为Visual Studio项目

无法编译 Android 应用程序

如何配置 QtCreator 以使用 C++11?