jni/../../Classes/AppDelegate.cpp:29: error: undefined reference to 'StartLayer。而且没生成libgame.so文件
2014-01-23 15:05
543 查看
<1>报错。
G:/AndroidCocos2dxFile/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/game_shared/__/__/Classes/AppDelegate.o: in
function AppDelegate::applicationDidFinishLaunching():jni/../../Classes/AppDelegate.cpp:29: error: undefined reference to 'StartLayer::scene()'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libgame.so] Error 1
<2>解决方案。
这个问题困扰了我快一天,因为以前运行别人的工程是没有问题的,还以为没有加上main.h和main.cpp导致的。
解决问题的方法就是,在Android.mk中:
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
在后面加上要编译的.cpp文件文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/StartLayer.cpp \
../../Classes/BasicLayer.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)
搞定!!!
G:/AndroidCocos2dxFile/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/game_shared/__/__/Classes/AppDelegate.o: in
function AppDelegate::applicationDidFinishLaunching():jni/../../Classes/AppDelegate.cpp:29: error: undefined reference to 'StartLayer::scene()'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libgame.so] Error 1
<2>解决方案。
这个问题困扰了我快一天,因为以前运行别人的工程是没有问题的,还以为没有加上main.h和main.cpp导致的。
解决问题的方法就是,在Android.mk中:
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
在后面加上要编译的.cpp文件文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/StartLayer.cpp \
../../Classes/BasicLayer.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)
搞定!!!
然而最佳解决方案是用下面的Android.mk文件,什么都不用加,就OK了,不管里面有.cpp文件多少编译了。
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := game_shared LOCAL_MODULE_FILENAME := libgame FILE_LIST := hellocpp/main.cpp FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp) LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%) LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static include $(BUILD_SHARED_LIBRARY) $(call import-module,CocosDenshion/android) \ $(call import-module,cocos2dx) \ $(call import-module,extensions)
相关文章推荐
- jni/../../Classes/AppDelegate.cpp:29: error: undefined reference to 'StartLayer。而且没生成libgame.so文件
- jni/../../Classes/AppDelegate.cpp:29: error: undefined reference to
- jni/../../Classes/AppDelegate.cpp:102: error: undefined reference to 'TestController::TestController
- jni/../../Classes/AppDelegate.cpp:102: error: undefined reference to 'TestController::TestC...
- gcc链接.cpp和.c文件生成的.o库文件的时候,Linking error "undefined reference to `__gxx_personality_v0'"
- android make debug : (.ARM.exidx+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'
- Android Jni 编译 error: undefined reference to 错误
- Android Studio JNI 报错 - error: undefined reference to 'AndroidBitmap_getInfo'
- crtbegin_dynamic.o: in function _start:crtbrand.c(.text+0x78): error: undefined reference to 'main
- output.cpp:(.text+0x3a29): undefined reference to `std::basic_ostream<char, std::char_traits<char>
- _start:crtbrand.c(.text+0x78): error: undefined reference to 'main'
- cocos2d-x在目录..\Classes添加新类的cpp后,在Eclipse下进行混合编译提示”undefined reference to vtable for 新类“错误的解决方法
- error: undefined reference to 'typeinfo for FileDialogDelegate'
- Error:ImageIOpng.cpp:(.text+0x5b9): undefined reference to `png_create_write_struct'等
- error:undefined reference to `coloured_LED_init'及相关错误时的解决办法!
- error: undefined reference to 'property_set
- 初次使用Qt Creater网络编程,出现error: undefined reference to `_imp__WSAStartup@8
- thinkphp验证码显示不出来 Fatal error: Call to undefined function imagettftext() 生成验证码错误
- Error occured while starting App. Original error: Permission to start activity denied.错误的解决方法
- undefined reference to error解决方法