Cocos2d-x 用Eclipse进行混编,调用第三方库出错!
2013-11-25 23:02
459 查看
http://m.blog.csdn.net/blog/JiuJie_/8762462
当我们在使用Cocos2d-x 进行开发的时候,可能会使用到XCode和Eclipse进行混编开发,但是当在Android版本代码中要使用第三方的.so的时候,会出现如下错误:
很明显这个是找不到我们的放到libs/armeabi目录下面的第三方的XX.so,但是我们明明是将这个拷到libs/armeabi目录下面去了丫,仔细检查下,发现,libs/armeabi目录下面只有
gbd.setup gdbserver libgame.so这三个文件,那我们的XX.so哪去了呢?
经过查询控制台信息,发现了这么一段:
囧!原来ndk编译的时候,将libs/armeabi目录下面所有.so都给删除了,然后将重新编译得到的.so放到这个目录下面,这咋整呢?
单独编译游戏的代码,然后将libgame.so和我的xx.so一起放到libs/armeabi目录下作为一个普通的工程使用,不参与与Xcode的混编,感觉这个方案是可行的,但是,那稍微更改一点东西,要调试、观察起来该有多么麻烦丫?
解决方案:
在我们工程的Android.mk文件中,添加如下代码即可:
这样,我们就可以继续我们的混编之路了!
参考资料:
http://stackoverflow.com/questions/10593987/android-ndk-linking
当我们在使用Cocos2d-x 进行开发的时候,可能会使用到XCode和Eclipse进行混编开发,但是当在Android版本代码中要使用第三方的.so的时候,会出现如下错误:
04-11 21:08:59.645: E/AndroidRuntime(25490): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load XX: findLibrary returned null 04-11 21:08:59.645: E/AndroidRuntime(25490): at java.lang.Runtime.loadLibrary(Runtime.java:429) 04-11 21:08:59.645: E/AndroidRuntime(25490): at java.lang.System.loadLibrary(System.java:554)
很明显这个是找不到我们的放到libs/armeabi目录下面的第三方的XX.so,但是我们明明是将这个拷到libs/armeabi目录下面去了丫,仔细检查下,发现,libs/armeabi目录下面只有
gbd.setup gdbserver libgame.so这三个文件,那我们的XX.so哪去了呢?
经过查询控制台信息,发现了这么一段:
rm -f ./libs/armeabi/lib*.so ./libs/armeabi-v7a/lib*.so ./libs/mips/lib*.so ./libs/x86/lib*.so rm -f ./libs/armeabi/gdbserver ./libs/armeabi-v7a/gdbserver ./libs/mips/gdbserver ./libs/x86/gdbserver rm -f ./libs/armeabi/gdb.setup ./libs/armeabi-v7a/gdb.setup ./libs/mips/gdb.setup ./libs/x86/gdb.setup
囧!原来ndk编译的时候,将libs/armeabi目录下面所有.so都给删除了,然后将重新编译得到的.so放到这个目录下面,这咋整呢?
单独编译游戏的代码,然后将libgame.so和我的xx.so一起放到libs/armeabi目录下作为一个普通的工程使用,不参与与Xcode的混编,感觉这个方案是可行的,但是,那稍微更改一点东西,要调试、观察起来该有多么麻烦丫?
解决方案:
在我们工程的Android.mk文件中,添加如下代码即可:
include $(CLEAR_VARS) LOCAL_C_INCLUDES := (includes for XX) LOCAL_MODULE := XX LOCAL_SRC_FILES := libXX.so include $(PREBUILT_SHARED_LIBRARY)
这样,我们就可以继续我们的混编之路了!
参考资料:
http://stackoverflow.com/questions/10593987/android-ndk-linking
相关文章推荐
- cocos2d中要用到的数学函数
- Cocos2D-X中的内部函数
- Cocos2dx通过JniHelper调用java函数,报错error link2019: 无法解析的外部命令
- cocos2d-X 节点(UIDragPanel.h)API
- cocos2d-X 节点(UILayer.h)API
- cocos2d-X 节点(UIInputManager.h)API
- cocos2d-X 节点(UIHelper.h)API
- cocos2d-X 节点(UILayoutDefine.h)API
- cocos2d-X 节点(LayoutParameter.h)API
- cocos2d-X 节点(LayoutExecutant.h)API
- cocos2d-X 节点(Layout.h)API
- cocos2d-X 节点(UIWidget.h)API
- cocos2d-X 节点(UIRootWidget.h)API
- cocos2d-X 节点(CCActionObject.h)API
- cocos2d-X 节点(CCActionNode.h)API
- cocos2d-X 节点(CCActionManagerEx.h)API
- cocos2d-X 节点(CCActionFrame.h)API
- cocos2d-X 节点(CCActionFrameEasing.h)API
- cocos2d-X 节点(CCTween.h)API
- cocos2d-X 节点(CCProcessBase.h)API