转自:http://www.myexception.cn/operating-system/1620542.html
cocos2d-x发生undefined reference to `XX'错误 一劳永逸解决方法
参考文章:
http://blog.csdn.net/kafeidev/article/details/9157895
http://blog.csdn.net/fu_zk/article/details/12836431
eclipse cocos2dx项目,出现错误
- E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:27: undefined reference to `GameLayer::GameLayer()'
- E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:27: undefined reference to
原因是android的nkd编译需要将每个cpp尽心进行声明
进入jni-->Classes目录下的Android.mk
- LOCAL_SRC_FILES := AppDelegate.cpp \
- HelloWorldScene.cpp
修改成
如下:
-
- LOCAL_MODULE_FILENAME := libcocos2dcpp
MY_CPP_LIST := $(wildcard $(LOCAL_PATH)/*.cpp)
MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/hellocpp/*.cpp)
MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)
LOCAL_SRC_FILES := $(MY_CPP_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes