国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

Mac下將libpomelo連接到Cocos2d-x的解決方案

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 08:31:52
文檔

Mac下將libpomelo連接到Cocos2d-x的解決方案

Mac下將libpomelo連接到Cocos2d-x的解決方案:摘要:借助GYP將libpomelo連接到Cocos2d-x項目并使項目能與服務(wù)端成功連接。 配置:OS X 10.9.4 Xcode 6.0 Cocos2d-x-3.2 方法一:http://cn.cocos2d-x.org/tutorial/showid=1561 一、部署GYP(Generate Your Projet
推薦度:
導(dǎo)讀Mac下將libpomelo連接到Cocos2d-x的解決方案:摘要:借助GYP將libpomelo連接到Cocos2d-x項目并使項目能與服務(wù)端成功連接。 配置:OS X 10.9.4 Xcode 6.0 Cocos2d-x-3.2 方法一:http://cn.cocos2d-x.org/tutorial/showid=1561 一、部署GYP(Generate Your Projet

摘要:借助GYP將libpomelo連接到Cocos2d-x項目并使項目能與服務(wù)端成功連接。 配置:OS X 10.9.4 Xcode 6.0 Cocos2d-x-3.2 方法一:http://cn.cocos2d-x.org/tutorial/show?id=1561 一、部署GYP(Generate Your Projets) 1、下載GYP項目 終端轉(zhuǎn)到要安裝GYP項

摘要:借助GYP將libpomelo連接到Cocos2d-x項目并使項目能與服務(wù)端成功連接。

配置:OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2

方法一:http://cn.cocos2d-x.org/tutorial/show?id=1561

一、部署GYP(Generate Your Projets)

1、下載GYP項目

終端轉(zhuǎn)到要安裝GYP項目的目錄后,執(zhí)行如下命令:

1

$ svn checkout http://gyp.googlecode.com/svn/trunk/ gyp-read-only

也可以直接下載:gyp.zip


2、打開終端切換至root權(quán)限

1

$ sudo -i

回車后需要輸入本機用戶密碼(就是電腦登陸密碼)。輸入時不會有視覺反饋(不會顯示出星號)。


3、進(jìn)入GYP項目目錄進(jìn)行setup

1

$ ./setup.py install


二、部署libpomelo

1、下載libpomelo項目

1

$ git clone https://github.com/NetEase/libpomelo.git

也可以直接下載:libpomelo-master.zip


2、生成libpomelo的Xcode項目

編譯Mac端

1

2

$ ./pomelo_gyp

$ xcodebuild -project pomelo.xcodeproj

編譯iOS端

1

2

$ ./pomelo_gyp -DTO=ios

$ ./build_ios

編譯iOS模擬器端

1

2

$ ./pomelo_gyp -DTO=ios

$ ./build_iossim


  • 可能出現(xiàn)的錯誤

  • Q | 錯誤提示:

    xcodebuild: error: SDK "iphonesimulator6.1" cannot be located.

    A | 解決方法:

    打開build_iossim文件,將模擬器版本改為所需版本。


    3、編譯運行l(wèi)ibpomelo的Xcode項目

    打開生成的pomelo.xcodeproj文件,編譯運行。


    4、打包靜態(tài)庫文件

    對libpomelo進(jìn)行編譯后會產(chǎn)生幾個靜態(tài)庫文件。如果想要同時針對多平臺進(jìn)行開發(fā),那么可以將針對不同平臺的同名靜態(tài)庫文件打包在一起。

    編譯所生成的靜態(tài)庫文件有以下三種,分別放在如下文件夾的子文件夾中:

  • libpomelo->build下的libpomelo.a

  • libpomelo->deps->jansson->build下的libjansson.a

  • libpomelo->deps->uv->build下的libuv.a

  • 例如文件libpomelo.a所處的目錄結(jié)構(gòu)如下

    通過如下命令可以將圖片中藍(lán)色選中的兩個文件合并打包到新的路徑下。

    1

    $ lipo -create [filePath1] [filePath2] -output [pathOfNewFile]

    靜態(tài)庫文件打包后的效果如下圖:


    5、對libpomelo刪繁就簡

    在項目中新建一個lib文件夾,將合成的靜態(tài)庫文件統(tǒng)一放進(jìn)去。對于項目的其他部分,只需保留如下的幾個文件夾文件:

  • libpomelo->include

  • libpomelo->deps->jansson->src

  • libpomelo->deps->uv->include

  • 處理后的目錄結(jié)構(gòu)示例如下:

    三、將靜態(tài)庫導(dǎo)入Cocos2d-x項目

    1、創(chuàng)建一個Cocos2d-x項目

    Cocos2d-x項目的創(chuàng)建參考Mac下搭建Cocos2d-x v3.2的開發(fā)環(huán)境。


    2、將libpomelo添加到Cocos2d-x項目中

    在XCode中右擊項目,Add Files to “XXX”,按下圖添加libpomelo文件夾:

    3、添加靜態(tài)庫文件

    點擊項目的Target,選擇Build Phases選項卡,找到Link Binary With Libraries,

    點擊+,點擊Add Other…,

    將導(dǎo)入的libpomelo項目中三個靜態(tài)文件添加進(jìn)去。

    4、添加頭文件搜索路徑

    切換到Build Settings選項卡,找到Search Paths條目,在User Header Search Paths和Library Search Paths中分別加入3項,分別是libpomelo文件夾下include,deps->jansson->src和deps->uv->include這三個文件夾的絕對路徑。


    可以采用相對路徑的方式添加,將以下三行加入即可:

  • ${PROJECT_DIR}/libpomelo/include

  • ${PROJECT_DIR}/libpomelo/deps/uv/include

  • ${PROJECT_DIR}/libpomelo/deps/jansson/src

  • ${PROJECT_DIR}是Xcode提供的環(huán)境變量,代表項目所在路徑。

    Tip:為了獲取文件夾的絕對路徑,先將項目中的文件夾用Finder打開,再將文件夾拖動到終端,即可。


    5、添加庫文件搜索路徑

    同樣在Search Paths條目中,找到Library Search Paths項,加入上述三個路徑。


    四、驗證

    在項目中添加一段代碼來驗證libpomelo已經(jīng)安裝成功。本例所使用的服務(wù)器端為chatofpomelo-websocket。


    1、運行服務(wù)器端

    1)下載chatofpomelo-websocket

    1

    $ git clone https://github.com/NetEase/chatofpomelo-websocket.git

    2)安裝依賴項

    1

    $ sh npm-install.sh

    3)運行g(shù)ame-server

    在終端進(jìn)入chatofpomelo-websocket項目下的game-server文件夾。執(zhí)行:

    1

    $ node app


    2、運行客戶端

    1)添加頭文件

    在HelloWorldScene.cpp文件中添加頭文件

    1

    #include "pomelo.h"


    2)添加測試代碼

    在init()函數(shù)中添加如下代碼:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    /*向服務(wù)器請求連接*/

    const char * ip = "127.0.0.1";

    int port = 3014; //服務(wù)器端chatofpomelo-websocket為客戶端提供的連接端口號。

    pc_client_t * pClient = pc_client_new();

    struct sockaddr_in address;

    memset(&address,0,sizeof(struct sockaddr_in));

    address.sin_family = AF_INET;

    address.sin_port = htons(port);

    address.sin_addr.s_addr = inet_addr(ip);

    if (pc_client_connect(pClient, &address))

    {

    CCLOGINFO("***** Connection Failed! *****");

    pc_client_destroy(pClient);

    }

    else

    {

    CCLOGINFO("***** Connection Succeed! *****");

    pc_client_destroy(pClient);

    }

    代碼可參考pomelo客戶端開發(fā)。


    3)編譯運行項目

    若運行項目后在output中輸出cocos2d: ***** Connection Succeed! *****,說明libpomelo配置成功。

  • 可能出現(xiàn)的錯誤

  • Q | 錯誤提示:

    Undefined symbols for architecture x86_64:

    "_FSEventStreamCreate",

    referenced from:_uv__fsevents_init in libuv.a(fsevents.o)

    "_FSEventStreamInvalidate",

    referenced from: _uv__fsevents_close in libuv.a(fsevents.o)

    "_FSEventStreamRelease",

    referenced from: _uv__fsevents_close in libuv.a(fsevents.o)

    "_FSEventStreamScheduleWithRunLoop",

    referenced from: _uv__fsevents_schedule in libuv.a(fsevents.o)

    "_FSEventStreamStart",

    referenced from: _uv__fsevents_schedule in libuv.a(fsevents.o)

    "_FSEventStreamStop",

    referenced from: _uv__fsevents_close in libuv.a(fsevents.o)


    ld: symbol(s) not found for architecture x86_64

    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    A | 解決方法:

    針對Mac,在Build Settings選項中的Linking條目下的Other Linker Flags中添加

    -framework CoreFoundation

    -framework CoreServices

    針對iOS,不需要添加上述Flags。


    參考源:Libraries to compile libuv on OS X


    五、參考鏈接

    1、Mac下編譯libpomelo靜態(tài)庫,并在Cocos2d-x項目中引用(講解十分詳細(xì),圖文豐富)

    2、libpomelo官方README文檔(有較大參考價值)

    3、pomelo客戶端開發(fā)(同樣屬于官方文檔,是鏈接2的中文版)

    4、Mac下Cocos2d-x連接pomelo服務(wù)器(寫得比較簡潔,把必要的部分都寫進(jìn)去了)

    5、遷移到Mac(如果有些意外情況可嘗試參考,該文價值量較低)

    6、手把手教你把pomelo客戶端組件libpomelo加入Cocos2d-x 3.0項目(Windows、Android、iOS平臺)(官方文檔,添加組件的另一種方式,相對比較繁瑣)


    來源網(wǎng)址:http://www.cnblogs.com/tangyikejun/p/3988724.html

    方法二:http://www.cnblogs.com/yangxq/p/3791682.html

    最近在學(xué)習(xí)cocos2dx的過程中需要和服務(wù)器進(jìn)行交互,所以這幾天在學(xué)習(xí)libpomelo靜態(tài)庫的編譯和使用。之前在windows系統(tǒng)下編譯libpomelo,并在VS中引入比較順利;但是,目前對Mac系統(tǒng)和XCode不是很熟悉,所以多花了些時間。不過,最終還是成功了,在這里就將我編譯引入libpomelo靜態(tài)庫的過程記錄下來,也分享給和我一樣遇到問題的朋友們。

    準(zhǔn)備工作

    libpomelo下載地址:https://github.com/NetEase/libpomelo或者h(yuǎn)ttp://pan.baidu.com/s/1B2o8Y,下載解壓后目錄結(jié)構(gòu)為

    此時,我們需要通過gyp來生成工程文件并進(jìn)行編譯,從官網(wǎng)下載gyp速度非常慢,這是我從其他地方下載到的,分享給大家http://pan.baidu.com/s/1hqmn3N2,不能保證是最新版的,下載解壓后得到

    下面開始安裝gyp,大家看到setup.py應(yīng)該知道這個python文件應(yīng)該和安裝有關(guān),使用help命令查看相關(guān)信息,發(fā)現(xiàn)build和install命令可用于編譯和安裝

    下面進(jìn)行編譯

    安裝時,由于存在權(quán)限問題,所以需要加上sudo命令來提升權(quán)限,同時需要輸入密碼

    gyp安裝成功后,我們的準(zhǔn)備工作就做好了。

    編譯靜態(tài)庫

    在終端使用如下命令:

     ./pomelo_gyp -DTO=ios
     ./build_ios
     ./build_iossim

    首先,進(jìn)入剛剛下載的libpomelo目錄,然后開始編譯ios設(shè)備靜態(tài)庫

    編譯靜態(tài)庫成功!

    接下來開始編譯ios虛擬機的靜態(tài)庫

    這里出現(xiàn)了錯誤,是因為我的xcode中沒有安裝IOS6.1的虛擬機。點擊xcode下的Preferences菜單項,切換到Downloads選項卡,如下,安裝虛擬機

    這里我沒有等待安裝完成,直接切換到另一個已安裝虛擬機的系統(tǒng)下,后面的“√”表示已安裝

    現(xiàn)在重新編譯,編譯成功

    現(xiàn)在我們可以查看編譯生成的靜態(tài)庫文件

    libpomelo->build下:

    libpomelo->deps->jansson->build下:

    libpomelo->deps->uv->build下:

    此時,靜態(tài)庫文件已經(jīng)成功編譯,共有6個.a文件。

    打包靜態(tài)庫文件

    在終端使用如下命令:

     lipo -create 文件1 文件2 -output 新文件

    我們可以把ios設(shè)備(arm)和ios虛擬機(i386)的靜態(tài)庫用lipo命令打包在一起,方便我們使用。

    輸入上述命令后,在libpomelo目錄下會生成3個打包后的.a文件

    此時,我們就可以在項目中使用這3個靜態(tài)庫了。

    接下來,將需要的靜態(tài)庫及相關(guān)頭文件提取出來。將libpomelo->include文件夾、libpomelo->deps->jansson->src文件夾、libpomelo->deps->uv->include文件夾下的文件保留,另外將3個.a文件放于新建的目錄lib中,最終的目錄結(jié)構(gòu)如下

    cocos2dx項目引入靜態(tài)庫

    將上面包含靜態(tài)庫和頭文件的目錄加入項目中,在XCode中右擊項目,“Add Files to XXX”,選擇上面的目錄,然后添加

    此時在我們的項目中可以看到剛剛添加的目錄

    然后,點擊項目的Target,選擇“Build Phases”選項卡,找到“Link Binary With Libraries”

    點擊“+”,點擊“Add Other…”,選擇3個靜態(tài)庫,點擊Open按鈕

    此時,靜態(tài)庫已加入到項目中

    現(xiàn)在,我們切換到“Build Settings”選項卡,找到“Search Paths”,在“Header Search Paths”和“Library Search Paths”中分別加入3項,分別是libpomelo中的include,deps->jansson->src和deps->uv->include的物理路徑。

    然后,關(guān)閉XCode,重新打開項目,編譯。此時在”jansson.h”中會報錯

    我們將此處的尖括號改為引號,“hashtable.c”也做同樣處理,再次編譯,編譯成功。

    現(xiàn)在我們就可以在項目中使用libpomelo庫提供的服務(wù)了。

    首先,我們在AppDelegate.cpp中引入頭文件#include “pomelo.h”,然后編譯,此時在”map.h”中又有錯誤

    將其改為#include “ngx-queue.h”就可以了,再次編譯,編譯成功!

    這些頭文件引用的問題相信大家都能搞定(可能你遇到的問題和我不一樣,但應(yīng)該都是小問題)。

    連接pomelo服務(wù)器

    我們在程序中加入如下代碼:

    編譯成功后,運行程序,控制臺輸出如下,此時由于沒有服務(wù)器,所以連接失敗。

    接下來,在VM虛擬機中打開pomelo服務(wù)器,將其激活。然后我們在MAC下的瀏覽器中輸入ip和端口,查看服務(wù)器狀態(tài)處于激活狀態(tài)(我用的服務(wù)器代碼在這里https://github.com/NetEase/chatofpomelo-websocket,當(dāng)然代碼中的ip和端口需要自己修改)

    再次運行我們的程序,控制臺輸出如下

    至此,我們已經(jīng)成功編譯了libpomelo靜態(tài)庫,將其引入項目,并測試連接pomelo服務(wù)器成功!

    備注3:http://blog.csdn.net/hsyj_0001/article/details/9751819

    最近聽說pomelo這個開源的游戲服務(wù)器框架不錯,文檔也比較詳細(xì)(這都是聽說,實際上.....還是接著往下看吧)于是拿來研究研究。因為做iphone游戲的緣故,所以打算在Mac OS X上安裝,按照官方的文檔指南,pomelo終于安裝成功,除了node.js在安裝過程中出過一些意外還是比較順利。

    接下來在安裝客戶端libpomelo庫時按照官方地址https://github.com/NetEase/libpomelo提示的方法卻發(fā)生了各種問題。作為一個開源產(chǎn)品只有自己會用其他人都無法編譯安裝,怎么能擴(kuò)大推廣呢,真尼瑪坑爹啊。

    首先,官方提示前提要安裝GYP。GYP是個啥啊?干嘛用的?去哪下載?如何安裝?

    先從GYP鏈接的地址把GYP下載下來

    [plain] view plaincopy

    1. svn checkout http://gyp.googlecode.com/svn/trunk/ gyp-read-only


    進(jìn)入gyp-read-only目錄,但是還是不知道如何安裝,如是看到有setup的文件通過./setup.py --help查看幫助信息,得知./setup.py build可以編譯,然后執(zhí)行./setup.py install編可以安裝。但是執(zhí)行./setup.py install時會提示error: /usr/local/bin/gyp: Operation not permitted,是由于當(dāng)前用戶權(quán)限的問題,所以需要重新執(zhí)行sudo ./setup.py install方可成功。

    下面開始正式編譯libpomelo庫,首先執(zhí)行g(shù)it clone https://github.com/NetEase/libpomelo.git命令下載源代碼.(如果git命令在Mac系統(tǒng)中是內(nèi)置的,如果在windows環(huán)境下需要安裝)。執(zhí)行cd libpomelo命令進(jìn)入下載的源代碼目錄,根據(jù)官方的指南編譯ios環(huán)境下的庫./pomelo_gyp -DTO=ios,但是會顯示錯誤信息:python: can't open file '/usr/local/bin/gyp_main.py': [Errno 2] No such file or directory,這明顯是安裝GYP過程中g(shù)yp_main.py文件沒有安裝成功。所以根據(jù)網(wǎng)上的一些解決辦法,我將GYP目錄拷貝到libpomelo目錄下,然后執(zhí)行./gyp-read-only/gyp --depth=. pomelo.gyp -Dlibrary=static_library -DTO=ios,終于構(gòu)建成功,其實這條指令就是pomelo_gyp中的內(nèi)容,只不過由于目錄層次的問題,我單獨在外面直接執(zhí)行罷了。

    下面開始按照指南的說明執(zhí)行./build_iossim編譯靜態(tài)庫時發(fā)現(xiàn)報錯,沒有找到指定的sdk6.1,于是在網(wǎng)上各種百度各種谷歌,就是沒有發(fā)現(xiàn)解決方法,唯一有過相似遭遇的解決方法是拿到其他XCode5的機器上編譯,這種解決方法不徹底也不科學(xué)。于是用pico build_iossim命令打開編譯配置文件看看到底是什么原因。原來編譯參數(shù)-sdk iphonesimulator6.1指定的版本在我的開發(fā)環(huán)境中過高,我本地使用sdk只有5.0,所以將該文件中的6.1全部改為5.0再執(zhí)行Ctrl+X退出編譯狀態(tài),再執(zhí)行./build_iossim命令便可編譯成功。

    很難想象網(wǎng)易這樣的一個產(chǎn)品說明竟然做得這么簡單,除了參與開發(fā)的人員能夠熟練構(gòu)建開發(fā)環(huán)境診斷一些問題,像我們一些剛剛接觸入門的開發(fā)者來說很難入手。

    建議網(wǎng)易完善一下環(huán)境構(gòu)建手冊和開發(fā)手冊,文檔不是寫給自己看的,是寫給沒有接觸這些產(chǎn)品的開發(fā)者閱讀的,所以要設(shè)身處地從入門者的角度出發(fā),甚至可以把讀者設(shè)想為0基礎(chǔ)的開發(fā)者,step-by-step地指導(dǎo)開發(fā),這樣才能更好地推廣這套產(chǎn)品。

    后面抽時間把libpomelo添加到cocos2d-x的項目工程中,嘗試調(diào)通client和Server端通信。

    教程連接:

    http://www.cnblogs.com/yangxq/p/3791682.html

    https://github.com/NetEase/pomelo/wiki/pomelo%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%BC%80%E5%8F%91

    http://cn.cocos2d-x.org/tutorial/show?id=1561

    https://github.com/NetEase/pomelo/wiki/Home-in-Chinese

    、Mac下編譯libpomelo靜態(tài)庫,并在Cocos2d-x項目中引用(講解十分詳細(xì),圖文豐富)

    2、libpomelo官方README文檔(有較大參考價值)

    3、pomelo客戶端開發(fā)(同樣屬于官方文檔,是鏈接2的中文版)

    4、Mac下Cocos2d-x連接pomelo服務(wù)器(寫得比較簡潔,把必要的部分都寫進(jìn)去了)

    5、遷移到Mac(如果有些意外情況可嘗試參考,該文價值量較低)

    6、手把手教你把pomelo客戶端組件libpomelo加入Cocos2d-x 3.0項目(Windows、Android、iOS平臺)(官方文檔,添加組件的另一種方式,相對比較繁瑣)

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Mac下將libpomelo連接到Cocos2d-x的解決方案

    Mac下將libpomelo連接到Cocos2d-x的解決方案:摘要:借助GYP將libpomelo連接到Cocos2d-x項目并使項目能與服務(wù)端成功連接。 配置:OS X 10.9.4 Xcode 6.0 Cocos2d-x-3.2 方法一:http://cn.cocos2d-x.org/tutorial/showid=1561 一、部署GYP(Generate Your Projet
    推薦度:
    標(biāo)簽: 連接 解決 Mac
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日韩精品欧美亚洲高清有无 | 国产在线每日更新 | 亚洲一区日韩二区欧美三区 | 午夜精品一区二区三区在线视 | 91久久精品国产91性色tv | 亚洲黄色一区二区 | 黄色毛片免费观看 | 免费在线观看一区二区 | 国产1页| 国产一区免费在线观看 | 亚洲欧美日韩中文字幕一区二区三区 | 91热这里只有精品 | 亚洲国产精品综合久久网络 | 国产精品免费看 | 亚欧精品在线观看 | 国产亚洲一区二区三区 | 国产成人久久精品一区二区三区 | 91精品欧美| 欧美亚洲一二三区 | 国产日韩欧美综合在线 | 成人a免费视频播放 | 亚洲视频在线免费播放 | 亚洲国产成人久久综合野外 | 一区二区三区视频在线观看 | 一区二区三区精品 | 最近免费中文字幕大全免费版视频 | 国产一区二区三区日韩欧美 | 午夜视频免费观看 | 在线精品欧美日韩 | 国产精品福利久久久久久小说 | 国产日韩欧美亚洲综合首页 | 日韩亚洲欧美综合 | 国产一区三区二区中文在线 | 日韩欧美一二三区 | 国产不卡的一区二区三区四区 | 久久久久久91香蕉国产 | 91精品专区| 国产区精品视频 | 欧美色爽 | 国产小视频在线免费观看 | 久久天堂网 |