NDK ライブラリにコンパイルしようとしている既存のコードがいくつかあります。正しく実行する必要がある単純な #ifndef がありますが、私の Android.mk では、LOCAL_CFLAGS で定義した変数が認識されません。コマンドラインオプションだと思います
NDK_LOG オプションを指定して ndk-build を実行すると、これが表示されるまですべて正常にコンパイルされます。
[armeabi-v7a] Compile++ thumb: NDKImageProcessor <= NDKImageProcessor.cpp
arm-linux-androideabi-g++: error: unrecognized command line option '-WINONLY=1'
make: *** [obj/local/armeabi-v7a/objs/NDKImageProcessor/NDKImageProcessor.o] Error 1
私は単にコンパイルに含まれているものから次のものを取得しようとしています:
#ifndef WINONLY
#import <CoreGraphics/CGGeometry.h>
#endif
Android.mk は非常に簡単です。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := NDKImageProcessor
LOCAL_SRC_FILES := NDKImageProcessor.cpp
LOCAL_SRC_FILES += ../../../../SharedSrc/Image.cpp
LOCAL_LDLIBS := -llog
LOCAL_CFLAGS := -WINONLY=1
include $(BUILD_SHARED_LIBRARY)
その LOCAL_CFLAGS 行を単純に追加しないと、コンパイラはその iOS コードをコンパイルしようとしますが、これは明らかに失敗です。