我已将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 :子命令失败 .
3 回答
正如评论所说(留下实际答案以获得更好的可见性),请参阅https://groups.google.com/d/topic/android-ndk/3iKT-kLEGpY/discussion .
似乎CMake没有更新应有的一切 .
使用Studio,解决此问题的最简单方法是遵循gjs留下的建议:
如果在Studio外部使用CMake:清除构建目录 .
只对我有用:
rm -rf app/.externalNativeBuild
菜单 - >构建 - >
Refresh linked C++ Project
制作项目(
Ctrl+F9
)这修复了下一个 ndk 17 错误:
你需要卸载NDK(
Appearance & Behavior > System settings > Android SDK
)并从https://developer.android.com/ndk/downloads/older_releases下载旧版NDK解压缩并复制到空文件夹 / ndk-bundle