首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows下为android部署qt3d项目

在windows下为android部署qt3d项目
EN

Stack Overflow用户
提问于 2013-11-12 23:24:54
回答 1查看 287关注 0票数 0

我正在尝试在安卓上部署一个测试程序,在windows下使用qt5和qt3d。构建qt3d是成功的,但仍然需要手动将库和源代码复制到我的Qt5文件夹中。看起来qt3d运行得很好,这个模块也是这样被认可的。

现在,我想在qt3d文件夹中构建一个示例项目。更准确地说,我尝试构建qt3d茶壶示例。

代码语言:javascript
复制
C:\Qt\android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -O2 -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -fno-exceptions -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_NO_PRINTDIALOG -DQT_NO_XKBCOMMON -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_3D_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\mkspecs\android-g++ -I..\teapot -I..\..\..\include -I..\..\..\include\Qt3D -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtOpenGL -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtWidgets -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtGui -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtCore -I.moc\release_shared -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\include -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include -IC:\Qt\android-ndk-r9b\platforms\android-9\arch-arm\usr\include -I. -o .obj\release_shared\teapotview.obj ..\teapot\teapotview.cpp
C:\Qt\android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -O2 -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -fno-exceptions -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_NO_PRINTDIALOG -DQT_NO_XKBCOMMON -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_3D_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\mkspecs\android-g++ -I..\teapot -I..\..\..\include -I..\..\..\include\Qt3D -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtOpenGL -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtWidgets -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtGui -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtCore -I.moc\release_shared -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\include -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include -IC:\Qt\android-ndk-r9b\platforms\android-9\arch-arm\usr\include -I. -o .obj\release_shared\main.obj ..\teapot\main.cpp
C:\Qt\Qt5.1.1\5.1.1\android_armv7\bin\moc.exe -DQT_NO_PRINTDIALOG -DQT_NO_XKBCOMMON -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_3D_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\mkspecs\android-g++ -I..\teapot -I..\..\..\include -I..\..\..\include\Qt3D -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtOpenGL -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtWidgets -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtGui -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtCore -I.moc\release_shared -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\include -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include -IC:\Qt\android-ndk-r9b\platforms\android-9\arch-arm\usr\include -I. -I/usr/include -I/usr/local/include ..\teapot\teapotview.h -o .moc\release_shared\moc_teapotview.cpp
C:\Qt\android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -O2 -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -fno-exceptions -Wall -Wno-psabi -W -D_REENTRANT -fPIE -DQT_NO_PRINTDIALOG -DQT_NO_XKBCOMMON -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_3D_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\mkspecs\android-g++ -I..\teapot -I..\..\..\include -I..\..\..\include\Qt3D -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtOpenGL -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtWidgets -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtGui -IC:\Qt\Qt5.1.1\5.1.1\android_armv7\include\QtCore -I.moc\release_shared -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\include -IC:\Qt\android-ndk-r9b\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include -IC:\Qt\android-ndk-r9b\platforms\android-9\arch-arm\usr\include -I. -o .obj\release_shared\moc_teapotview.obj .moc\release_shared\moc_teapotview.cpp
C:\Qt\android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-g++ --sysroot=C:\Qt\android-ndk-r9b/platforms/android-9/arch-arm/ -Wl,-soname,libteapot.so -Wl,-rpath-link=C:/Qt/Qt5.1.1/5.1.1/android_armv7/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o \bin\libteapot.so .obj\release_shared\teapotview.obj .obj\release_shared\main.obj .obj\release_shared\moc_teapotview.obj   -LC:\Qt\android-ndk-r9b/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a -LC:\Qt\android-ndk-r9b/platforms/android-9/arch-arm//usr/lib -LC:/Qt/qt-3d/lib -lQt53D -LC:\Qt\android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a -LC:\Qt\android-ndk-r8e/platforms/android-14/arch-arm//usr/lib -lgnustl_shared -lsupc++ -llog -lz -lm -ldl -lc -lgcc -LC:\Qt\Qt5.1.1\5.1.1\android_armv7\lib -lQt5OpenGL -lQt5Widgets -lQt5Gui -lQt5Core -lGLESv2 
16:19:28: The process "C:\Qt\Qt5.1.1\Tools\mingw48_32\bin\mingw32-make.exe" exited normally.
16:19:28: Elapsed time: 00:11.

现在我想为android部署这个项目(点击箭头按钮)。部署到Android上并不成功。没有生成APK文件,只是失败了。

代码语言:javascript
复制
mingw32-make: Nothing to be done for 'first'.
16:22:02: The process "C:\Qt\Qt5.1.1\Tools\mingw48_32\bin\mingw32-make.exe" exited normally.
16:22:02: Starting: "C:\Qt\Qt5.1.1\Tools\mingw48_32\bin\mingw32-make.exe" INSTALL_ROOT="C:\Qt\qt-3d\examples\qt3d\teapot\android" install
Die Syntax fr den Dateinamen, Verzeichnisnamen oder die Datentr„gerbezeichnung ist falsch.
makefile:1908: recipe for target 'install_target' failed
mingw32-make: *** [install_target] Error 1
16:22:04: The process "C:\Qt\Qt5.1.1\Tools\mingw48_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project teapot (kit: Android for arm (GCC 4.8, Qt 5.1.1)-Qt 5.1.1 for Android armv7)
When executing step 'Copy application data'
16:22:04: Elapsed time: 00:05

那么问题出在哪里呢?非常感谢你……

EN

回答 1

Stack Overflow用户

发布于 2013-12-07 00:26:49

问题出在Qt3D示例pro文件中,其中包含pri。我在Android上构建和部署示例的方法是创建一个新的Quick2项目,然后将qml和其他资源复制到新项目的qml文件夹中。然后,如果您使用assets,则会将所有内容复制到APK中。如果您希望更快地加载,请向项目中添加一个资源文件并添加所有现有文件,并在main.cpp中更改为使用qrc:前缀来选取入口点qml文件。祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19933102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档