我在SO上发现了类似的问题,但是没有一个问题具有相同的工作流程.
我的项目中有一个.so库(libcurl).该项目已建立,但我需要在JNI中的c代码中获取curl.h的内容.
这是我的Android.mk文件:
LOCAL_PATH:= $(call my-dir)
LIBS_PATH := libs/$(TARGET_ARCH_ABI)
include $(CLEAR_VARS)
LOCAL_MODULE := libcurl
LOCAL_SRC_FILES := $(LIBS_PATH)/libcurl.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := testLib
LOCAL_SRC_FILES := lib.c
LOCAL_SHARED_LIBRARIES += libcurl
include $(BUILD_SHARED_LIBRARY)
这是我的C类:
#include "curl/curl.h"
#include "lib.h"
JNIEXPORT jint JNICALL Java_com_example_test_1libcurlandroidlib_Lib_getTestNumber
(JNIEnv *env , jclass clazz)
{
return 99;
}
问题出在“ curl / curl.h”包含命令中.我也尝试过,但也没有找到它:
jni/lib.c:2:23: fatal error: curl/curl.h: No such file or directory
#include "curl/curl.h"
我的libcurl.so文件位于JNI文件夹内的lib文件夹中,该文件在生成时会在应用程序根目录的libs文件夹中生成相同(我认为)的文件:
有谁知道为什么我无法获得curl.h的推荐人,或者我必须做些什么才能拥有这个库?
谢谢!
作者在Android项目中尝试使用JNI调用.so库(libcurl)时遇到问题,寻求如何在JNI的C代码中包含并使用curl.h。提到本地路径设置、预编译库链接及实际编译过程中遇到的头文件找不到错误。

被折叠的 条评论
为什么被折叠?



