用ndk编译.so文件时出现了三类错误:
1.previous definition of ‘SYBNUMERIC’ was here
2.redeclaration of enumerator ‘SYBCHAR’
3. ‘errno’ undeclared (first use in this function)
想把freetds做为第三方库加入到cocos2d当中去,我是在cocos2d根目录拷贝了freetds的源文件,然后在两个静态库源码的文件夹中建了android.mk文件。
内容如下:
LOCAL_PATH := (call my-dir)
include (CLEAR_VARS)
LOCAL_MODULE := dblib_static
LOCAL_MODULE_FILENAME := dblib
LOCAL_SRC_FILES :=
bcp.c
dblib.c
dbopen.c
dbutil.c
rpc.c
xact.c
#LOCAL_EXPORT_C_INCLUDES := (LOCAL_PATH) LOCAL_EXPORT_C_INCLUDES += (LOCAL_PATH)/…/…/include
LOCAL_C_INCLUDES := (LOCAL_PATH)/ LOCAL_C_INCLUDES += (LOCAL_PATH)/…/…/include
LOCAL_CFLAGS := -std=c99
include $(BUILD_STATIC_LIBRARY)
另一个就不贴了
也在proj.android的jni目录的android.MK下添加了路径和要连接的动态库
内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp
…/…/Classes/AppDelegate.cpp
…/…/Classes/HelloWorldScene.cpp \
LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/Classes
LOCAL_WHOLE_STATIC_LIBRARIES += libtds_static
LOCAL_WHOLE_STATIC_LIBRARIES += dblib_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
#LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
#LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
(call import-module,freetds/src/tds)
(call import-module,freetds/src/dblib)
(call import-module,cocos2dx)
(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
(call import-module,CocosDenshion/android)
(call import-module,extensions)
#(call import-module,external/Box2D)
#(call import-module,external/chipmunk)
但是在使用cygwin编译的时候就老是出现如下错误:
1.previous definition of ‘SYBNUMERIC’ was here
2.redeclaration of enumerator ‘SYBCHAR’
3. ‘errno’ undeclared (first use in this function)
问题可能出现在哪,求高手指教。