如何解决构建Android的Qt 5.15应用程序的多链接错误 参考文献:
应用程序使用 Qt 5.12.9 (适用于Android)构建良好。但是在链接阶段以 5.15.1 失败(由于已弃用的Qt API已修复,因此可以正常编译)。仅针对arm64-v8a
ABI构建:
qmake ANDROID_ABIS="arm64-v8a" ...
~/Qt/5.15.1/android/include/QtCore/qobjectdefs_impl.h:415: undefined reference to `operator delete(void*)'
obj/QGCMapEngine.o: In function `QList<QString>::append(QString const&)':
~/Qt/5.15.1/android/include/QtCore/qlist.h:626: undefined reference to `__cxa_begin_catch'
~/Qt/5.15.1/android/include/QtCore/qlist.h:628: undefined reference to `__cxa_rethrow'
~/Qt/5.15.1/android/include/QtCore/qlist.h:629: undefined reference to `__cxa_end_catch'
~/Qt/5.15.1/android/include/QtCore/qlist.h:644: undefined reference to `__cxa_begin_catch'
~/Qt/5.15.1/android/include/QtCore/qlist.h:646: undefined reference to `__cxa_rethrow'
~/Qt/5.15.1/android/include/QtCore/qlist.h:647: undefined reference to `__cxa_end_catch'
尝试修复AndroidManifest.xml
,如此处所述:Qt for Android known issues,但没有运气。通过安装最新的Qt SDK和从docker中的源构建的Qt可重现。任何想法是什么问题以及如何解决?
参考文献:
解决方法
问题在以下行的Access to XMLHttpRequest at 'https://75hkwcgiy.execute-api.us-east-1.amazonaws.com/Prod/plans/35580' from origin 'http://[mydomain].com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
GET https://75hkwcgiy.execute-api.us-east-1.amazonaws.com/Prod/plans/35580 net::ERR_FAILED
中进行了修复:QGCCommon.pri#L60
-nostdlib++
对于 5.15 ,需要将其删除并修补QMAKE_LINK += -nostdlib++ # Hack fix
以正确构建APK。在当前Qt Creator安装并默认使用 ndk21 的情况下, 5.12 和was ndk20 problem的该行都可以删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。