編譯Arm版本的Google的Protobuf-C

在arm上安裝和使用Google的Protobuf-C

步驟如下

一、安裝PC版本的ProtoBuf的相關(guān)文件和可執(zhí)行程序

1、獲取[Protobuf源碼](https://github.com/google/protobuf)
2、編譯宿主機(jī)版本Protobuf軟件,因?yàn)镻rotoc-C依賴Protobuf的庫文件和頭文件
1)下載完源碼后,執(zhí)行./autogen.sh
2)生成一個(gè)configure可執(zhí)行程序
3)執(zhí)行./configure --prefix=/usr/local/protobuf沒有錯(cuò)誤輸出,生成Makefile文件
4)然后執(zhí)行make && sudo make install 會(huì)生成的可執(zhí)行程序、頭文件、lib庫在默認(rèn)的路徑下面/usr/local/protobuf
5)可執(zhí)行程序protoc用于將規(guī)則序列化文件.pro生成源代碼供使用者使用
6)PC版本的測試程序[protobuf.tar.gz](/_attachment/2018-08-10/protobuf.tar.gz)(簡書無法上傳附件)

2、安裝PC版本的Protobuf-C文件

1、下載[Protobuf-C源碼](https://github.com/protobuf-c/protobuf-c.git)
2、編譯PC版本的Protobuf-c文件
1)執(zhí)行./autogen.sh
2)執(zhí)行./configure的時(shí)候會(huì)出現(xiàn)(configure: error: required protobuf header file not found)這個(gè)錯(cuò)誤,需要導(dǎo)入剛才編譯好的protobu的生成文件的配置文件pkgconfig的路徑信息。解決辦法:export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig, 然后在執(zhí)行./configure,即可生成Makefile文件
3)執(zhí)行make && sudo make install 就可以生成protoc-c、頭文件、庫文件(路徑/usr/local/),其中protoc-c用于將.pro文件生成.c .h文件,供應(yīng)用使用。
4)pc上的例子[example.tar.gz](/_attachment/2018-08-10/example.tar.gz)(簡書無法上傳附件)

3、編譯arm版本的庫文件和頭文件

1、arm版本不需要protoc-c程序,因?yàn)樯纱a和編譯在PC上編譯,板子上只是運(yùn)行應(yīng)用程序。
2、同一份protoc-c代碼,然后make clean一下
3、導(dǎo)入arm版本的gcc編譯器的環(huán)境變量
4、配置編譯信息 ./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --disable-protoc --prefix=`pwd`/build/protobuf-c-arm,其中相關(guān)的arm-xxx是你arm編譯器的相關(guān)名字,--prefix配置的是你生成文件的路徑。
5、make && make install 即可在你指定的文件夾中看到生成的文件,如我的生成文件。    
![2018-08-10_111229.png](https://upload-images.jianshu.io/upload_images/7311855-edd526bfa847c2c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

至此arm版本、PC版本的Protobuf-c已經(jīng)移植完成,驗(yàn)證需使用者自己驗(yàn)證,本人在PC上驗(yàn)證沒問題,arm版本的只需修改一下CMakeLists文件里面的部分即可。

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

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

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,224評(píng)論 3 119
  • 從Intel和ARM爭霸戰(zhàn),看看做芯片有多難 這幾天中興事件持續(xù)發(fā)酵以來,各種議論紛紛擾擾。但我觸動(dòng)最大的,還是碧...
    torvaldsing閱讀 57,047評(píng)論 20 131
  • 人生很多事都是不確定的。有時(shí)候我也會(huì)不由自主想到如果出現(xiàn)最差的事我會(huì)怎么辦?估計(jì)會(huì)頭腦空白整個(gè)人都拿不了...
    抱花少女閱讀 376評(píng)論 0 0
  • 年前我媽要給大門上貼個(gè)紅對(duì)聯(lián),但是我們家大門太高了。我和我爸準(zhǔn)備去買個(gè)梯子。 賣梯子的地方是我們這的舊貨市...
    陳晚來閱讀 98評(píng)論 0 0
  • icesister閱讀 252評(píng)論 0 0

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