在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 即可在你指定的文件夾中看到生成的文件,如我的生成文件。
