在Android应用程序上部署Qt时出现错误

3
我正在尝试运行我的第一个Qt Android应用程序,并按照这篇教程进行操作:http://urfoex.blogspot.ro/2013/12/qt5-android-setting-up-qt-52-for-android.html。但是,在运行后我遇到了以下错误:
i686-linux-android-g++: error: unrecognized command line option '-marm' make: *** 
[main.o] Error 1 21:33:42: The process "make" exited with code 2.
Error while building/deploying project avd_tests (kit: Android for x86 (GCC 4.8, Qt 5.2.1)) When executing step 'Make'

我也尝试使用armeabi,但是我得到了以下错误信息:
In file included from ../.android-ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/algorithm:60:0,
                 from ../.Qt5.2.1/5.2.1/android_armv7/include/QtCore/qglobal.h:82,
                 from ../.Qt5.2.1/5.2.1/android_armv7/include/QtCore/qcoreapplication.h:45,
                 from ../.Qt5.2.1/5.2.1/android_armv7/include/QtWidgets/qapplication.h:45,
                 from ../.Qt5.2.1/5.2.1/android_armv7/include/QtWidgets/QApplication:1,
                 from ../avd_tests/qtquick2controlsapplicationviewer/qtquick2controlsapplicationviewer.h:13,
                 from ../avd_tests/main.cpp:1: ../.android-ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/utility:68:28: fatal error: bits/c++config.h: No such file or directory  #include <bits/c++config.h>
                            ^ compilation terminated. make: *** [main.o] Error 1 21:44:14: The process "make" exited with code 2. Error while building/deploying project avd_tests (kit: Android for armeabi-v7a (GCC 4.8, Qt 5.2.1)) When executing step 'Make'

我正在构建的应用程序是一个默认的Qt Quick应用程序。我正在使用Qt 5.2.1QtCreator 3.0.1
有人知道它可能是什么,或者有没有人知道如何在GNU/Linux上使QtAndroid上工作的好指南?
2个回答

2
原文如下:

结果发现这是较新版本的Android SDK中已知的一个bug。

正如Bogdan Vatra(也就是Qt for Android的创建者)所指出的,解决方案有:

  • 找一个旧版的Android SDK。
  • 升级你的Qt Creator(使用Qt SDK 5.3)。
  • 使用一台真实设备。

为了解决这个问题,我从http://download.qt-project.org/snapshots/qt/5.3/5.3.0-RC/2014-04-14_55/下载了qt-opensource-linux-x64-android-5.3.0-RC_2014-04-14_00-48-35-55.run,部署成功!

感谢Bogdan!

其中 Android SDK, Qt for Android, Qt Creator, Qt SDK 分别为 Android 软件开发工具包、Qt 的 Android 版本、Qt 的集成开发环境、Qt 软件开发工具包。

2
您需要从这里下载并安装适用于Android(Linux 32位或64位)的Qt 5.2.1。Qt项目的SDK不包含Android SDK / NDK,因此您必须从这里自行下载和安装它们。您将需要Android NDK(版本r9+)和SDK(版本22+)。

如果您不打算创建Android Java应用程序,则确保仅下载SDK而不是ADT Bundle或Android Studio。

下载后进行提取。对于Android SDK,您应该连接到Internet并下载所需工具。您必须至少安装Android API-13!您还必须安装Android SDK平台工具和Android SDK构建工具。

打开Qt Creator。转到Tools->Option->Android设置页面,并设置Android SDK和NDK位置。

您可以在此处找到详细的教程。


非常感谢您的回答。我现在正在工作,几个小时后会尝试您的示例。我使用了Qt 5.2.1 Linux 64在线安装程序,并从中安装了Android。我手动下载了NDK和SDK,并手动从“工具->选项->Android”设置了路径,但是您可以看到上面的结果。不过我会尝试您的方法,并告诉您结果。谢谢! - Jacob Krieg
我尝试了一下,但是出现了以下错误:构建后,我得到了: 12:40:26:正在运行项目untitled2的步骤... 12:40:26:配置未更改,跳过qmake步骤。 12:40:26:开始:“make” make:没有要做的事情。 12:40:26:进程“make”正常退出。 12:40:26:删除目录/home/user/build-untitled2-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Debug/android-build 12:40:26:开始:“make” INSTALL_ROOT=/home/user/build-untitled2-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Debug/android-build install - Jacob Krieg
cp -f -R /home/user/untitled2/qml/untitled2 /home/user/build-untitled2-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Debug/android-build/assets/qml/ install -m 755 -p "libuntitled2.so" "/home/user/build-untitled2-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Debug/android-build/libs/armeabi-v7a/libuntitled2.so" 12:40:26:进程“make”正常退出。 构建/部署项目untitled2时出错(工具链:Android for armeabi-v7a(GCC4.8,Qt5.2.1)) 执行步骤“部署到Android设备”时出错 12:42:40:经过的时间:02:14。 - Jacob Krieg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接