Qt 5.2 RC1“执行格式错误”:虚拟Ubuntu 13.04上的android部署

时间:2013-12-03 08:52:08

标签: android qt ubuntu virtualbox qt5

我现在正试着用了三个星期才能得到一个简单的Hello World应用程序在AVD(arm)上工作。在Windows(64位)下没有问题,但我想使用Ubuntu 13.04 LTS(32位)和Qt 5.2 RC1通过VirtualBox创建虚拟工作区。请不要告诉我本地使用Qt,我知道它速度较慢等等,这个工作区应该可以在多台计算机上运行而不需要每次都进行新的Qt设置。

我添加了SDK,NDK,Ant和OpenJDK,如this documentation中所述。我尝试使用Qt Designer GUI,包括Button和Checkbox,还有this example

结果总是一样的:

:-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。我在各种论坛上搜索了这个问题,但找不到任何解决方案,我做的每件事我都会再次遇到这个错误,也许你可以帮助我。如果您需要更多信息,请告诉我。

此致 克莱门

1 个答案:

答案 0 :(得分:1)

我有类似的问题。我的问题是在ndk文件夹中。我以错误的方式提取了下载的tar.bz2文件,导致链接断开。尝试再次下载文件,检查md5总和,使用gui归档管理器解压缩文件,最后调整qtcreator-> tools-> options-> Android中的ndk文件夹。希望这有帮助