1侣监、建立一個(gè)cocos2d-x的工程,找到工程目錄下的frame/cocos2d-x目錄臣淤,將次目錄一并copy到iOS原生工程的工程目錄里面橄霉。
2、將cocos2d-x目錄下的cocos2d_libs.xcodeproj(cocos2d-x/build/cocos2d_libs.xcodeproj)和cocossd_js_bindings.xcodeproj(cocos2d-x/cocos/scripting/js-bindings/proj.ios_mac/cocos2d_js_bindings.xcodeproj)兩個(gè)工程拖到原生工程中荒典。
3酪劫、建立工程依賴,在原生工程的target->Build Phases->Target Dependencies添加寺董,選擇cocos2d_libs和cocossd_js_bindings的生成庫覆糟,并在Link Binary With Libraries也選擇。
4遮咖、配置工程滩字,打開剛剛建立的cocos2d-x工程,主要對(duì)照工程的Project和Target的User Header Search Paths御吞,copy上去麦箍。
5、將cocos2d-x的AppDelegate.h和AppDelegate.cpp(cocos2d-x/tools/simulator/frameworks/rumtime/src/Classes/)拖到原生工程中陶珠,然后編譯挟裂,此時(shí)會(huì)報(bào)幾個(gè)錯(cuò)誤,這里對(duì)其進(jìn)行一一解決揍诽。
5.1 命名沖突诀蓉,因?yàn)樵こ桃灿幸粋€(gè)AppDelegate類,這里需要把cocos的AppDelegate類的命名改一下暑脆,文件名也做相應(yīng)修改(如AppDelegateX)渠啤。
5.2 C++編譯錯(cuò)誤,會(huì)報(bào)NSObjCRuntime.h添吗、NSObject.h沥曹、NSZone.h文件有錯(cuò)誤,這是因?yàn)镃++文件引用了OC類引起的碟联,但是我這里cpp文件沒有引用OC的類妓美,后面再網(wǎng)上找的了原因,是因?yàn)閜ch文件鲤孵,pch里面包含了oc的頭文件引用部脚,所有這里需要再pch文件中凡是有引用oc類的地方前后添加
#ifdef __OBJC__ ?
你的oc頭文件引用
#endif
5.3然后再編譯,還是有一個(gè)錯(cuò)誤裤纹,提示<spine/..h>等文件未找到委刘,需要再Target的Header Search Paths中添加對(duì)應(yīng)路徑(在cocos2d-x/cocos/editor-support/spine)丧没。
到此,所有的編譯和鏈接問題解決锡移。