在自己的cocos2dx工程中編譯protobuf C++ Android

windows下C++ 使用的IED是Clion,好處是開(kāi)發(fā)過(guò)程中使用cmake,這樣發(fā)布到Android時(shí)工程基本不需要改動(dòng)(我的沒(méi)改),直接使用IDEA就可以編譯了,Android studio和IDEA一樣的(這個(gè)我沒(méi)測(cè)試過(guò),idea里面內(nèi)嵌的就是它所以估計(jì)是一樣的..),如果弄到linux上發(fā)布也很簡(jiǎn)單...? 好吧我不是專(zhuān)業(yè)的,就在這記錄一下方便以后查看吧,凌晨4點(diǎn)了都...



1.為了簡(jiǎn)便起見(jiàn)直接將整個(gè)protobuf的源工程目錄添加到我自己的工程中,如下圖:


01

2.添加protobuf到我的工程中,add_subdirectory(${CMAKE_SOURCE_DIR}/protobuf-master/cmake)? ,再添加一個(gè)依賴(lài)target_link_libraries(${APP_NAME} cocos2d libprotobuf)


02


03

3.設(shè)置protobuf CMakeList.txt的選項(xiàng),根據(jù)自己的需求來(lái)設(shè)置,我這里主要是去掉了一些不需要的東西,其實(shí)我就只需要一個(gè)libprotobuf,如下圖:


04

上面這個(gè)圖看起來(lái)有點(diǎn)亂,使用cmakegui打開(kāi)看一下,大概是這樣的下面這樣,(里面的勾勾是我手動(dòng)去掉的 不是上面設(shè)置的結(jié)果,上面把那些ON替換成OFF他才會(huì)自動(dòng)顯示成沒(méi)有勾,上面的設(shè)置我是照著下面這個(gè)來(lái)的,因?yàn)橹笆褂胿s編譯了protobuf是這么設(shè)置的)


05

到這里基本就可以編譯了,但是cocos2dx的編譯出來(lái)的lib文件位置還需要在設(shè)置一下:


06

所修改的文件是libprotobuf.cmake,如果要使用libprotobuf-lite的話那么也修改一下相應(yīng)的camke就好了,指定輸出路徑可以使用set_target_properties,這個(gè)是照著cocos2dx里面的CMakeList寫(xiě)的,自己set 一下LIBRARY_OUTPUT_PATH 應(yīng)該也是可以的。

到這里就可以編譯成功了,使用Clion編譯windows版本,和使用Idea編譯Android版都OK。


睡覺(jué)..

如果你和我一樣不是特別熟練的話可以先直接使用Clion打開(kāi)protobuf,設(shè)置選項(xiàng)編譯,這里能編譯成功后再把整個(gè)protobuf拷貝過(guò)去,這樣沒(méi)有多做什么事情,萬(wàn)一出了啥情況也方便排查,拷貝過(guò)去之后就是add_subdirectory,設(shè)置依賴(lài),然后設(shè)置一下lib生成的目錄... 搞的時(shí)候一頭包,總結(jié)起來(lái)也就這幾步了...

真的睡了?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容