更新后NDK Build未生成

时间:2018-05-10 04:55:47

标签: android c++ android-studio cmake android-ndk

我已将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, - fatal-warnings -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 -shald-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查看调用)   忍者:构建停止:子命令失败。

2 个答案:

答案 0 :(得分:8)

正如评论所说(留下实际答案以提高可见度),请参阅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 :(得分:-1)

您是否需要卸载NDK(Appearance & Behavior > System settings > Android SDK)并从https://developer.android.com/ndk/downloads/older_releases下载旧版NDK

解压缩并复制到空文件夹{android-sdk} / ndk-bundle

Build > Refresh Linked C++ Projects