Ошибка сборки: ошибка связи Android с CPS AWS SDK - PullRequest
0 голосов
/ 24 апреля 2018

Я создаю (статическую и динамическую) библиотеку AWS SDK CPP на своем ПК для приложений Android.После этого я разработал приложение для Android с Qt 5.10, используя эту библиотеку AWS CPP, но в конце, во время ссылки, у меня много ошибок.Я пробовал на MacOS и Windows 10, но у меня те же ошибки, и я использовал ANDROID NDK 12, потому что это единственная работа по созданию библиотеки AWS SDK CPP.

Я пытался решить ее в течение 2 недель.Пожалуйста, кто-нибудь может мне помочь?

Вот моя команда компоновщика и результат:

C:\Android_aws_sdk_cpp\android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c -D__ANDROID_API__=16 --sysroot=C:\Android_aws_sdk_cpp\android-ndk-r12b/platforms/android-16/arch-arm/ -isystem C:\Android_aws_sdk_cpp\android-ndk-r12b/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem C:\Android_aws_sdk_cpp\android-ndk-r12b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -DANDROID -DANDROID_NDK -DAWS_CUSTOM_MEMORY_MANAGEMENT -fPIC -fexceptions -O2 -Os -mthumb -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../crio_Source -I. -I../aws-sdk-cpp/aws_build_android/build_static/include -I../../../../Qt/5.10.1/android_armv7/include -I../../../../Qt/5.10.1/android_armv7/include/QtQuick -I../../../../Qt/5.10.1/android_armv7/include/QtCharts -I../../../../Qt/5.10.1/android_armv7/include/QtWidgets -I../../../../Qt/5.10.1/android_armv7/include/QtGui -I../../../../Qt/5.10.1/android_armv7/include/QtQml -I../../../../Qt/5.10.1/android_armv7/include/QtNetwork -I../../../../Qt/5.10.1/android_armv7/include/QtCore -I. -I../../../../Qt/5.10.1/android_armv7/mkspecs/android-g++ -o moc_listSensorModel.obj moc_listSensorModel.cpp
C:\Android_aws_sdk_cpp\android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ --sysroot=C:\Android_aws_sdk_cpp\android-ndk-r12b/platforms/android-16/arch-arm/ -Wl,-soname,libcrio_Android.so -Wl,-rpath=C:/Qt/5.10.1/android_armv7/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libcrio_Android.so emailaddress.obj mimeattachment.obj mimecontentformatter.obj mimefile.obj mimehtml.obj mimeinlinefile.obj mimemessage.obj mimemultipart.obj mimepart.obj mimetext.obj quotedprintable.obj smtpclient.obj controleur.obj listGroupModel.obj listSensorModel.obj main.obj sensorInformation.obj qrc_qml.obj moc_emailaddress.obj moc_mimeattachment.obj moc_mimecontentformatter.obj moc_mimefile.obj moc_mimehtml.obj moc_mimemultipart.obj moc_mimepart.obj moc_quotedprintable.obj moc_smtpclient.obj moc_controleur.obj moc_listGroupModel.obj moc_listSensorModel.obj   -LC:\Android_aws_sdk_cpp\android-ndk-r12b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a -Lc:/android_aws_sdk_cpp/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x -LC:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib -laws-cpp-sdk-core -laws-cpp-sdk-lambda -laws-cpp-sdk-cognito-identity -laws-cpp-sdk-cognito-idp -laws-cpp-sdk-identity-management -LC:/Qt/5.10.1/android_armv7/lib -lQt5Quick -Lc:\utils\android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a -Lc:/utils/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.9 -LC:\Qt\5.10.1\android_armv7/lib -lQt5Charts -lQt5Widgets -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 -lgnustl_shared -lgcc -llog -lz -lm -ldl -lc**

C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::AmazonStreamingWebServiceRequest::~AmazonStreamingWebServiceRequest(): error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::AmazonStreamingWebServiceRequest::~AmazonStreamingWebServiceRequest(): error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Utils::Stream::DefaultResponseStreamFactoryMethod(): error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::__shared_weak_count::__add_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::__shared_weak_count::__release_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::__shared_weak_count::__add_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::locale::locale()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::locale::~locale()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::InitAPI(Aws::SDKOptions const&): error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Utils::Logging::InitializeAWSLogging(std::__ndk1::shared_ptr<Aws::Utils::Logging::LogSystemInterface> const&): error: undefined reference to 'std::__ndk1::__shared_weak_count::__add_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function std::__ndk1::basic_ostringstream<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> >::~basic_ostringstream(): error: undefined reference to 'std::__ndk1::locale::~locale()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function std::__ndk1::basic_ostringstream<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> >::~basic_ostringstream(): error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Client::AWSAuthV4Signer::AWSAuthV4Signer(std::__ndk1::shared_ptr<Aws::Auth::AWSCredentialsProvider> const&, char const*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool): error: undefined reference to 'std::__ndk1::__shared_weak_count::__add_shared()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Client::AWSAuthV4Signer::ComputeLongLivedHash(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&) const: error: undefined reference to 'std::__ndk1::mutex::lock()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Client::AWSAuthV4Signer::ComputeLongLivedHash(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&) const: error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Client::AWSAuthV4Signer::ComputeLongLivedHash(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&) const: error: undefined reference to 'std::__ndk1::locale::locale()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Client::AWSAuthV4Signer::ComputeLongLivedHash(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&) const: error: undefined reference to 'std::__ndk1::ios_base::init(void*)'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Client::AWSAuthV4Signer::ComputeLongLivedHash(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&) const: error: undefined reference to 'std::__ndk1::locale::locale()'
C:/Users/Benjamin/OneDrive/aws-sdk-cpp/aws_build_android/build_static/lib/libaws-cpp-sdk-core.a(ub_core.cpp.o):C:\Android_aws_sdk_cpp\aws-cpp-sdk-core\ub_core.cpp:function Aws::Client::AWSAuthV4Signer::ComputeLongLivedHash(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, Aws::Allocator<char> > const&) const: error: undefined reference to 'std::__ndk1::locale::locale()'
...
...
...

collect2.exe: error: ld returned 1 exit status
mingw32-make: *** [libcrio_Android.so] Error 1
Makefile:154: recipe for target 'libcrio_Android.so' failed
15:50:30: The process "C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project crio_Android (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.10.1 for Android armv7))
When executing step "Make"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...