轉自: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