经过两天多的构建错误,我放弃了......
我在这里遵循了这个很好的教程: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 ...
“未定义的引用”错误通常意味着库不存在,但“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 上更糟),有人可以帮助我。非常感谢!