Far*_*hed 4 c++ android cmake android-ndk android-studio
我已将Android Studio更新为最新更新,从那时起NDK就出现了错误.在更新之前,一切都在顺利建设.我不知道错误.如果有人可以帮忙.谢谢.
构建命令失败.执行进程时出错/Users/blabla/Library/Android/sdk/cmake/3.6.4111459/bin/cmake with arguments {--build /Users/blabla/AndroidStudioProjects/blablanow/mblabla/.externalNativeBuild/cmake/individualDebug/x86- -target mblabla} [1/1]链接CXX共享库../../../../build/intermediates/cmake/individual/debug/obj/x86/libmblabla.so失败:: &&/Users/blabla/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang ++ --target = i686-none-linux-android --gcc-toolchain =/Users/blabla/Library/Android/sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/darwin-x86_64 --sysroot =/Users/blabla/Library/Android/sdk/ndk-bundle/sysroot -fPIC -isystem/Users/blabla/Library/Android/sdk/ndk-bundle/sysroot/usr/include/i686-linux-android -D__ANDROID_API __ = 19 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa, --noexecstack -Wformat -Werror = format-security -std = c ++ 11 -O0 -fno-limit-debug-info -Wl, - exclude-libs,libgcc.a -Wl, - exclude-libs,libatomic.a -nostdlib ++ --sysroot/Users/blabla/Library/Android/sdk/ndk-bundle/platforms/android-19/arch-x86 -Wl, - build-id - Wl, - warn-shared-textrel -Wl, - 致命警告-L/Users/blabla/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc ++/libs/x86 -Wl, --no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libmblabla.so -o ../../. ./../build/intermediates/cmake/individual/debug/obj/x86/libmblabla.so CMakeFiles/mblabla.dir/src/main/jni/mblabla_main.cpp.o CMakeFiles/mblabla.dir/src/main/jni /mblablaJNI.cpp.o CMakeFiles/mblabla.dir/src/main/jni/Constants.cpp.o -llog -latomic -lm"/ Users/blabla/Library/Android/sdk/ndk-bundle/sources/cxx-stl /gnu-libstdc++/4.9/libs/x86/libgnustl_static.a"&&:/ Users/blabla/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc ++/include/stdexcept:136:错误:未定义引用'std :: logic_error :: logic_error(char const*)'/ Users/blabla/Library/Android/sdk/ndk-bundle/sources/cxx-stl/llvm- libc ++/include/stdexcept:136:错误:未定义引用'std :: logic_error :: logic_error(char const*)'clang ++:错误:链接器命令失败,退出代码为1(使用-v查看调用)ninja:build stopped :子命令失败.
正如评论所说(留下实际答案以提高可见性),请参阅https://groups.google.com/d/topic/android-ndk/3iKT-kLEGpY/discussion.
似乎CMake没有更新应有的一切.
使用Studio,解决此问题的最简单方法是遵循gjs留下的建议:
- 从Android Studio Build Menu执行'Refresh Linked C++ Projects'后,最终解决了问题.
如果在Studio外部使用CMake:清除构建目录.
小智 -1
您是否需要卸载 NDK ( ) 并从https://developer.android.com/ndk/downloads/older_releasesAppearance & Behavior > System settings > Android SDK下载旧版本 NDK
解压并复制到空文件夹 {android-sdk}/ndk-bundle
Build > Refresh Linked C++ Projects
Run Code Online (Sandbox Code Playgroud)