cocos2dx android AppDelegate链接时出错

时间:2014-08-17 19:31:29

标签: android c++ cocos2d-x-2.x

嗨我有问题为android编译项目 - 它适用于win32和BB10 但是当我尝试在消息:

中在android NDK中编译它时
[armeabi] SharedLibrary  : libcocos2dcpp.so
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'AppDelegate::applicationDidEnterBackground()'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'AppDelegate::applicationWillEnterForeground()'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'vtable for AppDelegate'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'AppDelegate::AppDelegate()'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'AppDelegate::AppDelegate()'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'AppDelegate::loadResources()'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'AppDelegate::applicationDidFinishLaunching()'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'typeinfo name for AppDelegate'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: error: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: multiple definition of 'typeinfo for AppDelegate'
C:/androidsdk/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o: previous definition here
collect2.exe: error: ld returned 1 exit status
/cygdrive/c/androidsdk/ndk/android-ndk-r10/build/core/build-binary.mk:647: recipe for target 'obj/local/armeabi/libcocos2dcpp.so' failed

任何人都可以指出我做错了什么吗? cocos 2.4

1 个答案:

答案 0 :(得分:6)

我也遇到了另一个库的问题。在我的情况下,这是因为在Android.mk中,在LOCAL_SRC_FILES中,相同的c文件被列出了2次。在你的情况下,它可能是AppDelegate.cpp