この質問からリンクされている指示を使用して Eclipse を使用して Botan を正常にビルドしていましたが、Android Studio は Android 開発用に Eclipse を置き換えることになっているため、現在 Android Studio でビルドしようとしていますが、失敗しますヘッダー ファイルがありません<iosfwd>
。次のエラーが表示されます。
Error:Execution failed for task ':app:compileDebugNdk'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Users/User1/Development/android-ndk-r10d/ndk-build NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/Users/User1/application1/android/workspace/app/build/intermediates/ndk/debug/Android.mk APP_PLATFORM=android-19 NDK_OUT=/Users/User1/application1/android/workspace/app/build/intermediates/ndk/debug/obj NDK_LIBS_OUT=/Users/User1/application1/android/workspace/app/build/intermediates/ndk/debug/lib APP_ABI=all
Error Code:
2
Output:
In file included from /Users/User1/application1/android/workspace/app/src/main/jni/botan/botan_all.cpp:8:0:
/Users/User1/application1/android/workspace/app/src/main/jni/botan/botan_all.h:11:18: fatal error: iosfwd: No such file or directory
#include <iosfwd>
^
compilation terminated.
make: *** [/Users/User1/application1/android/workspace/app/build/intermediates/ndk/debug/obj/local/arm64-v8a/objs/app//Users/User1/application1/android/workspace/app/src/main/jni/botan/botan_all.o] Error 1
ヘッダーファイルはどこ<iosfwd>
から取得する必要があり、Android Studio にそれを見つけるように指示するにはどうすればよいですか?
アップデート
次のメイクファイルを見つけました: .../workspace/app/src/main/jni/botan/Android.mk
# jni/botan/Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := botan
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
LOCAL_SRC_FILES := botan_all.cpp
LOCAL_CPPFLAGS := -DBOTAN_USE_GCC_INLINE_ASM=0
include $(BUILD_SHARED_LIBRARY)
の後に行を追加してみましたLOCAL_CPPFLAGS
:
LOCAL_C_INCLUDES := $(ANDROID_STL_INC)
しかし、ビルドは影響を受けていないようで、同じエラーが発生するため、次のように編集しようとしましLOCAL_CPPFLAGS
た:
LOCAL_CPPFLAGS := SEE_IF_THIS_BREAKS_THE_BUILD
私の編集が表示されているかどうかを確認するには、ヘッダーでまったく同じ元のエラーが発生しiosfwd
ます。したがって、私の編集はビルドの一部ではないようです。
失敗したビルドステップに到達する方法を理解できるように、Android Studio に詳細情報を提供するにはどうすればよいですか。現在、ビルドすると一時停止し、ウィンドウにエラーメッセージが表示されますが、そこに到達するためのすべての中間ステップは表示されず、どのメイクファイルがその時点まで到達したかが示される場合があります。