Я знаю, что это старый, но я продолжал сталкиваться с этим, когда я искал эту проблему. В случае, если вы строите автономный OpenSSL для своего проекта и получаете эту ошибку, я нашел решение в соответствии с этой веткой :
В openssl-android/crypto
, openssl-android/ssl
и openssl-android/apps
вы найдете объявление переменной для local_c_includes
, которое выглядит примерно так:
local_c_includes := \
$(NDK_PROJECT_PATH) \
$(NDK_PROJECT_PATH)/crypto/asn1 \
$(NDK_PROJECT_PATH)/crypto/evp \
$(NDK_PROJECT_PATH)/include \
$(NDK_PROJECT_PATH)/include/openssl
Если вы поместили каталог openssl-android
в свой проект Android в каталог project/jni
, то эти переменные больше не будут указывать на правильное местоположение. Я решил, что нужно изменить эти пути так, чтобы они были относительно LOCAL_PATH
:
local_c_includes := \
$(LOCAL_PATH)/.. \
$(LOCAL_PATH)/asn1 \
$(LOCAL_PATH)/evp \
$(LOCAL_PATH)/../include \
$(LOCAL_PATH)/../include/openssl
Помните, вам придется делать это для каждого из каталогов, которые вы пытаетесь создать (crypto
, ssl
или apps
).