我三周来一直在尝试让一个简单的Hello World应用程序在AVD(arm)上运行。在Windows(64位)下没有问题,但我想使用Ubuntu 13.04 LTS(32位)和Qt 5.2 RC1通过VirtualBox创建一个虚拟工作区。请不要告诉我本机使用Qt,我知道它更慢等等,这个工作区应该在多台计算机上工作,而无需每次都进行新的Qt设置。
我添加了SDK、NDK、Ant和OpenJDK,如本文档中所述。我尝试了一个Qt设计器GUI,其中包括一个按钮和一个复选框,此外还有这个例子。
结果总是一样的:
:-1: Fehler: error trying to exec '/opt/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/as': execv: Exec format error :-1: Fehler: [main.o] Error 1
完整的编译报告:
14:55:19: Führe Schritte für Projekt accelbubble aus... 14:55:19: Starte "/usr/bin/make" clean rm -f qrc_accelbubble.cpp rm -f main.o qrc_accelbubble.o rm -f *~ core *.core 14:55:19: Der Prozess "/usr/bin/make" wurde normal beendet. 14:55:19: Unveränderte Konfiguration, qmake-Schritt wird übersprungen. 14:55:19: Starte "/usr/bin/make" /opt/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -g -g -gdwarf-2 -marm -O0 -fno-omit-frame-pointer -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_OS_ANDROID_GCC_48_WORKAROUND -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/mkspecs/android-g++ -I../accelbubble -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtQuick -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtSvg -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtQml -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtWidgets -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtXml -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtSensors -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtNetwork -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtGui -I/opt/Qt5.2.0/5.2.0-rc1/android_armv5/include/QtCore -I. -I/opt/android-ndk-r9b/sources/cxx-stl/gnu-libstdc++/4.8/include -I/opt/android-ndk-r9b/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include -I/opt/android-ndk-r9b/platforms/android-9/arch-arm/usr/include -I. -o main.o ../accelbubble/main.cpp arm-linux-androideabi-g++: error trying to exec '/opt/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/as': execv: Exec format error make: *** [main.o] Error 1 14:55:25: Der Prozess "/usr/bin/make" wurde mit dem Rückgabewert 2 beendet. Fehler beim Erstellen/Deployment des Projekts accelbubble(Kit: Android für armeabi (GCC 4.8, Qt 5.2.0)) Bei der Ausführung von Schritt 'Make' 14:55:25: Verstrichene Zeit: 00:06.
我正在以root用户身份运行Qt Creator。我在各种论坛上搜索了这个问题,但找不到任何解决方案,我所做的一切都再次出现了这个错误,也许你可以帮助我。如果你需要更多信息,请告诉我。
谨致问候,克莱门斯
我也遇到了类似的问题。我的问题出现在ndk文件夹中。我以错误的方式提取了下载的tar.bz2
文件,导致链接断开。尝试再次下载文件,检查md5 sum,使用gui归档管理器提取文件,最后在qtcreator->tools->options->Android中调整ndk文件夹。希望这能帮助