error: undefined reference to 'zmq_init'
我的android工程的jni目录下的文件为:Android.mk libzmq.a callback.c clientzmq.c zmq.h
其中callback.c是上层eclipse中调用的函数,clientzmq.c就是zmq的通信模块函数,里面用到zmq_init等函数,libzmq.a是已经编译好的zmq的静态库,但在cygwin下编译就会出现上述错误,我想是libzmq.a库没有加载成功,但是不知道具体是什么错误,已经两周了,都没解决,请大神帮忙啊!
我的Android.mk文件的内容为:
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := zmq
LOCAL_SRC_FILES := libzmq.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := myjni
LOCAL_STATIC_LIBRARIES := libzmq.a
LOCAL_SRC_FILES := callback.c clientzmq.c
include $(BUILD_SHARED_LIBRARY)
6 个解决方案
#1
'zmq_init'这个是什么
#2
zmq_init是zmq库中的一个函数,用来初始化一个zmq连接的上下文,这个函数的具体含义不是主要的,主要的是这个库中的函数,为什么不能被识别,在加载的库中找不到这些库函数,请指教!!!
#3
我也遇到了这个问题,请问你现在解决了吗???
#4
http://blog.csdn.net/doveqian/article/details/6931507
多看看demo
多看看demo
#5
我的问题是和楼主一样的问题,一般的静态库能够链接成功了,就是zmq的静态库不能够链接成功了,所以我想问问楼主这个问题有没有解决了???会不会和c链接,c++链接有关,目前不清楚Android NDK build的原理了。
#6
同问,别人用服务器编译成的.a可以用。自己用eclipse建的工程生成的.a就不能用了,说找不到其中的函数。郁闷。
#1
'zmq_init'这个是什么
#2
zmq_init是zmq库中的一个函数,用来初始化一个zmq连接的上下文,这个函数的具体含义不是主要的,主要的是这个库中的函数,为什么不能被识别,在加载的库中找不到这些库函数,请指教!!!
#3
我也遇到了这个问题,请问你现在解决了吗???
#4
http://blog.csdn.net/doveqian/article/details/6931507
多看看demo
多看看demo
#5
我的问题是和楼主一样的问题,一般的静态库能够链接成功了,就是zmq的静态库不能够链接成功了,所以我想问问楼主这个问题有没有解决了???会不会和c链接,c++链接有关,目前不清楚Android NDK build的原理了。
#6
同问,别人用服务器编译成的.a可以用。自己用eclipse建的工程生成的.a就不能用了,说找不到其中的函数。郁闷。