各位大侠,我要在android中通过jni使用libcurl,实现网络交互,不过我编译libcurl时总是出问题。有编译过的大侠请指点指点小弟。小弟感激不进。
我用的环境:
adroid sdk 1.5 ,ndk 1.6 ,curl-7.21.4,在windows环境下使用cygwin编译、或ubuntu10上编译。我编译时会报下面的错误:awk: build/core/extract-platform.awk:30: fatal: cannot open file `-' for reading
(Is a directory)
Android NDK: Building for application 'hello-libcurl'
Compile thumb : curl <= apps/hello-libcurl/project/jni/curl/lib/file.c
In file included from apps/hello-libcurl/project/jni/curl/lib/setup.h:126,
from apps/hello-libcurl/project/jni/curl/lib/file.c:23:
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:79:4: error: #error
"CURL_SIZEOF_LONG definition is missing!"
In file included from apps/hello-libcurl/project/jni/curl/lib/setup.h:126,
from apps/hello-libcurl/project/jni/curl/lib/file.c:23:
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:80: error: expected
'=', ',', ';', 'asm' or '__attribute__' before 'Compilation_aborted_CURL_SIZEOF
_LONG_is_missing'
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:94:4: error: #error
"CURL_TYPEOF_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:99:4: error: #error
"CURL_FORMAT_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:104:4: error: #erro
r "CURL_FORMAT_CURL_OFF_TU definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:109:4: error: #erro
r "CURL_FORMAT_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:114:4: error: #erro
r "CURL_SIZEOF_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:119:4: error: #erro
r "CURL_SUFFIX_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:124:4: error: #erro
r "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:153: error: 'curl_o
ff_t' undeclared here (not in a function)
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:153: error: 'CURL_S
IZEOF_CURL_OFF_T' undeclared here (not in a function)
In file included from apps/hello-libcurl/project/jni/curl/lib/setup_once.h:66,
from apps/hello-libcurl/project/jni/curl/lib/setup.h:583,
from apps/hello-libcurl/project/jni/curl/lib/file.c:23:
build/platforms/android-3/arch-arm/usr/include/time.h:92: warning: function decl
aration isn't a prototype
In file included from apps/hello-libcurl/project/jni/curl/lib/file.c:48:
build/platforms/android-3/arch-arm/usr/include/unistd.h: In function 'getpagesiz
e':
build/platforms/android-3/arch-arm/usr/include/unistd.h:170: warning: nested ext
ern declaration of '__page_size'
我用的环境:
adroid sdk 1.5 ,ndk 1.6 ,curl-7.21.4,在windows环境下使用cygwin编译、或ubuntu10上编译。我编译时会报下面的错误:awk: build/core/extract-platform.awk:30: fatal: cannot open file `-' for reading
(Is a directory)
Android NDK: Building for application 'hello-libcurl'
Compile thumb : curl <= apps/hello-libcurl/project/jni/curl/lib/file.c
In file included from apps/hello-libcurl/project/jni/curl/lib/setup.h:126,
from apps/hello-libcurl/project/jni/curl/lib/file.c:23:
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:79:4: error: #error
"CURL_SIZEOF_LONG definition is missing!"
In file included from apps/hello-libcurl/project/jni/curl/lib/setup.h:126,
from apps/hello-libcurl/project/jni/curl/lib/file.c:23:
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:80: error: expected
'=', ',', ';', 'asm' or '__attribute__' before 'Compilation_aborted_CURL_SIZEOF
_LONG_is_missing'
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:94:4: error: #error
"CURL_TYPEOF_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:99:4: error: #error
"CURL_FORMAT_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:104:4: error: #erro
r "CURL_FORMAT_CURL_OFF_TU definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:109:4: error: #erro
r "CURL_FORMAT_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:114:4: error: #erro
r "CURL_SIZEOF_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:119:4: error: #erro
r "CURL_SUFFIX_CURL_OFF_T definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:124:4: error: #erro
r "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:153: error: 'curl_o
ff_t' undeclared here (not in a function)
apps/hello-libcurl/project/jni/curl/include/curl/curlrules.h:153: error: 'CURL_S
IZEOF_CURL_OFF_T' undeclared here (not in a function)
In file included from apps/hello-libcurl/project/jni/curl/lib/setup_once.h:66,
from apps/hello-libcurl/project/jni/curl/lib/setup.h:583,
from apps/hello-libcurl/project/jni/curl/lib/file.c:23:
build/platforms/android-3/arch-arm/usr/include/time.h:92: warning: function decl
aration isn't a prototype
In file included from apps/hello-libcurl/project/jni/curl/lib/file.c:48:
build/platforms/android-3/arch-arm/usr/include/unistd.h: In function 'getpagesiz
e':
build/platforms/android-3/arch-arm/usr/include/unistd.h:170: warning: nested ext
ern declaration of '__page_size'
解决方案 »
- 怎样基于BaseAdapter实现灵活的图片加载
- Android中webview重定向后无法后退的问题
- 请教,谁可以推荐本android的好书,可以配合源码学习的书
- 如何调WindowManagerService里的PerformLayout或者relayoutWindow
- listview.setSelection(1)失效的问题
- 请教getClass().getClassLoader().getResourceAsStream()
- Android环境搭建问题
- Android 这种效果怎么实现的啊?
- ListView点击Item为什么文字不会变色了,CheckBox 是黑色的
- gradle project sync failed ... 各位大神,能否帮忙看看这个问题怎么解决,在线等!
- android在edittext里怎么截取KEY事件(event)?
- 甲骨文状告谷歌Android侵犯Linux开源许可
经过努力,发现这个连接的方法,是可以编译生成libcurl.a文件的。
我的方法是将解压的curl源码放到ndk根目录。在cygwin中切换到(ndk目录)/curl。然后运行./configure命令生成curl_config.h,然后将android.mk中节点
LOCAL_CFLAGS += \
$(common_CFLAGS) \
-I$(LOCAL_PATH)/include \
-I/usr/include
补充缺少内容。然后编译,有好多警告,不过最后还是成功了。