6

私は最近、Android 用の C++ の開発を支援するために、いくつかのコード サンプルを含む本を購入しました。しかし、いくつかのサンプル コードをビルドしようとすると、次のエラーが表示されます。

C:\ndk\android-ndk-r9\ndk-build.cmd all 
"Compile++  : Chapter10 <= Chapter10.cpp
process_begin: CreateProcess(NULL, C:/ndk/android-ndk-r9/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin/arm-linux-androideabi-g++ -MMD -MP -MF ./obj/local/armeabi/objs/Chapter10/Chapter10.o.d -fno-exceptions -fno-rtti -Ijni -IC:/ndk/android-ndk-r9/sources/android/native_app_glue -IC:/ndk/android-ndk-r9/sources/cxx-stl/stlport/stlport -IC:/ndk/android-ndk-r9/sources/cxx-stl//gabi++/include -Ijni -DANDROID -Wa,--noexecstack -Wformat -Werror=format-security -frtti -c jni/Chapter10.cpp -o ./obj/local/armeabi/objs/Chapter10/Chapter10.o, ...) failed.

make (e=2): The system cannot find the file specified.

make: *** [obj/local/armeabi/objs/Chapter10/Chapter10.o] Error 2

メイクファイルは以下の通りです。

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_ARM_MODE          := arm
LOCAL_C_INCLUDES        := $(LOCAL_PATH)
LOCAL_MODULE            := Chapter10
LOCAL_SRC_FILES         := Chapter10.cpp \
                           (Other cpp Files . . . )
LOCAL_LDLIBS            := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
LOCAL_STATIC_LIBRARIES  := android_native_app_glue

include $(BUILD_SHARED_LIBRARY)

$(call import-module,android/native_app_glue)

Application.mk ファイルは次のとおりです。

APP_PLATFORM    := android-9
APP_STL         := stlport_static
NDK_TOOLCHAIN_VERSION   := 4.7

これは、Windows 7 マシンで ADT v22.2.1 と Android NDK r9 を使用してコンパイルされました。

NDK は「C:\ndk\android-ndk-r9\」にインストールされました。

4

2 に答える 2

8

Android NDK r9 には、次のツールチェーンが含まれています。

  1. arm-linux-androideabi-4.6
  2. arm-linux-androideabi-4.8
  3. arm-linux-androideabi-clang3.2
  4. arm-linux-androideabi-clang3.3
  5. llvm-3.2
  6. llvm-3.3
  7. mipsel-linux-android-4.6
  8. mipsel-linux-android-4.8
  9. mipsel-linux-android-clang3.2
  10. mipsel-linux-android-clang3.3
  11. x86-4.6
  12. x86-4.8
  13. x86-clang3.2
  14. x86-clang3.3

gcc 4.7 用のツールチェーンはありません。ただし、Application.mk次の行が含まれています。

NDK_TOOLCHAIN_VERSION   := 4.7

これは、NDK に 4.7 ツールチェーンを探すように指示します。そして、それは失敗します。

したがって、問題の解決策は、NDK_TOOLCHAIN_VERSION変数を4.6, 4.8, clang3.2,clang3.3または justに変更することですclang(NDK で利用可能な最新バージョンの Clang を使用します)。

于 2013-10-21T10:27:39.340 に答える
0

スペース英語以外の文字が含まれている場合は、プロジェクト パスを確認してください。
プロジェクトをスペースのない場所に移動し、再構築して動作させました。

于 2015-11-28T17:54:51.407 に答える