首页 文章

更新后NDK Build未生成

提问于
浏览
4

我已将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 回答

  • -1

    正如评论所说(留下实际答案以获得更好的可见性),请参阅https://groups.google.com/d/topic/android-ndk/3iKT-kLEGpY/discussion .

    似乎CMake没有更新应有的一切 .

    使用Studio,解决此问题的最简单方法是遵循gjs留下的建议:

    在Android Studio Build Menu中执行'Refresh Linked C Projects'后,最终解决了问题 .

    如果在Studio外部使用CMake:清除构建目录 .

  • 0

    只对我有用:

    • rm -rf app/.externalNativeBuild

    • 菜单 - >构建 - > Refresh linked C++ Project

    • 制作项目( Ctrl+F9

    这修复了下一个 ndk 17 错误:

    stdexcept:136: error: undefined reference to 'std::logic_error:
    
  • 4

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

    解压缩并复制到空文件夹 / ndk-bundle

    Build > Refresh Linked C++ Projects
    

相关问题