Android NDK提供此错误使错误2

时间:2016-07-28 08:12:08

标签: android android-ndk

我试图建立Android NDK,它给了我这个错误。 我正在使用eclipse。 我使用android-ndk-r12。 eclipse中的Android NDK Preference是C:\ android-ndk-r12(我也试过“C:\ android-ndk-r12 \ build”,但它没有用)。 android Android.mk如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := com_example_ndktest_Store
LOCAL_SRC_FILES := com_example_ndktest_Store.cpp

include $(BUILD_SHARED_LIBRARY)

错误如下:

[armeabi-v7a] "Compile++ arm  ": "com_example_ndktesting_Store <= com_example_ndktesting_Store.cpp"
process_begin: CreateProcess(NULL, C:/android-ndk-r12/build//../toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe -MMD -MP -MF ./obj/local/armeabi-v7a/objs/com_example_ndktesting_Store/com_example_ndktesting_Store.o.d -gcc-toolchain C:/android-ndk-r12/build//../toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fpic -ffunction-sections -funwind-tables -fstack-protector-strong -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -fno-integrated-as -g -target armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -marm -O2 -DNDEBUG -IC:/android-ndk-r12/build//../sources/cxx-stl/gnu-libstdc++/4.9/include -IC:/android-ndk-r12/build//../sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -IC:/android-ndk-r12/build//../sources/cxx-stl/gnu-libstdc++/4.9/include/backward -Ijni -DANDROID -mfpu=vfp -mfloat-abi=softfp -fno-short-enums -Werror -DANDROID -DDISABLE_IMPORTGL -isystem /usr/include/ -Wa,--noexecstack -Wformat -Werror=format-security -std=gnu++0x -frtti -fexceptions -DANDROID -isystem C:/android-ndk-r12/build//../platforms/android-24/arch-arm/usr/include -c jni/com_example_ndktesting_Store.cpp -o ./obj/local/armeabi-v7a/objs/com_example_ndktesting_Store/com_example_ndktesting_Store.o, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [obj/local/armeabi-v7a/objs/com_example_ndktesting_Store/com_example_ndktesting_Store.o] Error 2

2 个答案:

答案 0 :(得分:2)

1-确保您拥有正确版本的NDK 如果你使用32位Windows,你应该下载并安装android-ndk-r12-windows-x86.zip,如果你使用64位Windows,你应该下载并安装android-ndk-r12-windows-x86_64.zip

2-定义正确的工具链 你确定clang ++。exe在指定的路径中找到,剂量这个ndk版本有这个工具链吗? 尝试将Android.mk文件中的NDK_TOOLCHAIN_VERSION(例如NDK_TOOLCHAIN_VERSION:= clang3.3)设置为ndk-r12中找到的正确工具链。 Android开发人员文档:

NDK_TOOLCHAIN_VERSION
Define this variable as either 4.9 or 4.8 to select a version of the GCC compiler. Version 4.9 is the default for 64-bit ABIs, and 4.8 is the default for 32-bit ABIs. To select a version of Clang, define this variable as clang3.4, clang3.5, or clang. Specifying clang chooses the most recent version of Clang.

答案 1 :(得分:0)

您下载的NDK软件包在llvm工具链中的文件夹名称可能错误。

看看此路径 C:/ android-ndk-r12 / build //../ toolchains / llvm / prebuilt / windows-x86_64 / bin / clang ++。exe < / em> ...在我的情况下,该文件夹为 windows ,我将其重命名为与 windows-x86_64 匹配,并且可以正常工作。