2日以上のビルドエラーの後、私はあきらめました...
私はこちらの良いチュートリアルに従いました: http://www.cryptopp.com/wiki/Android_(Command_Line)。コンパイルされ、「cryptest.exe」はすべてのテストに合格します。ということで、スタティックライブラリ「libcryptopp.a」でいいのかな。
そこで、「libcryptopp.a」とすべてのヘッダー ファイルを Android プロジェクトに移動します。
しかし、構築ステップになると (よくあることですが... :-))、次のようなコンパイル エラーが発生します。
.../Classes/libs/android/libcryptopp.a(files.o): in function std::basic_filebuf<char, std::char_traits<char> >::_M_unshift()
[clone .part.40]:/Users/toto/Developer/NDKs/AndroidNDKs/android-ndk-r8e/sources/cxx-stl/stlport/stlport/stl/_fstream.h:322:
error: undefined reference to 'std::_Filebuf_base::_M_write(char*, int)'
and ~50 others ...
「undefined reference to」エラーは通常、ライブラリが存在しないことを意味しますが、ここでは「libcryptopp.a」が正しいです。したがって、「Android.mk」に何かが欠けていると思います。
include $(CLEAR_VARS)
LOCAL_MODULE := cryptopp-prebuilt
LOCAL_SRC_FILES := ...narf/Classes/libs/android/libcryptopp.
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
/*
here are included other library
*/
LOCAL_STATIC_LIBRARIES := cryptopp-prebuilt
include $(BUILD_SHARED_LIBRARY)
「APP_STL := stlport_static/dynamic」、「APP_STL := gnustl_static/dynamic」などを試した後...もうチャンスはありません。
本当にビルド/コンパイルの専門家ではない (Android ではさらに悪い) ので、誰か助けてくれませんか。どうもありがとうございました!