最近進行更換引擎為cocos2d-x 2.0.3的動作
NDK編譯時遇到了幾個問題記錄一下
1. 編譯時出錯 出現unresolvable R_ARM_THM_CALL relocation against symbol xxx 的訊息
原因似乎是出在r8b的預設toolchain為GCC 4.6 toolchain
然後這個toolchain好像有問題= =
相關討論
解決方法有兩種
如果你是Mac or Linux 可以用Gold linker (這個我是第一次聽到)
在android.mk中加LOCAL_C_FLAGS += -fuse-ld=gold
像我用windows的話可以指定用舊的toolchain
在application.mk中加NDK_TOOLCHAIN_VERSION = 4.4.3
2. 第二點是在我用4.4.3 toolchain後出現的狀況
no matches converting function xxx to type xxxx
在cocs2d-x中使用CCCallfunc 時 callfunc_selector(Class::Method)
當Method有其他的overload方法時就會出現
最後因為我不想改cocos2d-x的source code所以我選擇改呼叫方法的名稱
2 則留言 :
請問一定要用 NDK r8b 編譯嗎?
2.0.3應該r8也ok的
張貼留言