Protobuf C ARM 版編譯安裝

2021-09-26 10:52:32 字數 2222 閱讀 6731

protobuf c++ arm 版依賴於linux版本,需要使用交叉編譯環境進行編譯,這裡使用的是 arm-none-linux-gnueabi-c++

將其移動到linux目錄下

解壓

tar -jxvf arm-

2014.05-29

-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

修改環境變數

vim /etc/profile
新增解壓後檔案所在路徑(… 代表路徑,替換為自己的)

export path=$path:..

./arm/bin

儲存執行

source /etc/profile
arm-none-linux-gnueabi-c++

-v

如果返回如下圖所示,則成功

-v提示找不到路徑之類的錯誤,可能是有與32位和64位造成

需要安裝相容庫

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-

1.0

參考protobuf c++ 版編譯安裝和簡單使用

安裝protobuf arm版本需要先安裝linux版本,用到其中的生成檔案

.

/configure --host=arm-linux --prefix=

/usr/local/protobuf_arm --with-protoc=

/usr/local/protobuf/bin/protoc cc=arm-none-linux-gnueabi-gcc cxx=arm-none-linux-gnueabi-g++

這一步主要目的是用來生成makefile檔案

編譯:make

測試:make check

安裝 :make install

新增如下環境變數

vim /etc/profile
export ld_library_path=$ld_library_path:

/usr/local/protobuf_arm/lib

export library_path=$library_path:

/usr/local/protobuf_arm/lib

export path=$path:

/usr/local/protobuf_arm/bin

儲存執行

source /etc/profile
arm-none-linux-gnueabi-c++

-std=c++

11 test.pb.cc test.cpp -o test `pkg-config --cflags --libs protobuf-lite`

上述鏈結的protobuf-lite庫,有些高階用法進行了刪減,主要是減小鏈結庫煩人體積,對應的.proto檔案新增option optimize_for = lite_runtime;也可以採用protobuf庫,包含完整用法,不需要加option optimize_for選項

在liunx已無法直接執行,需要移動到arm端執行

在執行前需要先將依賴的庫推入arm裝置

adb shell mount -o rw,remount /

adb push protobuf-lite.so.

20/usr/lib/protobuf-lite.so.

20

我這裡根據錯誤提示推入的是protobuf-lite.so.20

然後即可執行

.

/tets

Linux編譯安裝 簡版

linux編譯安裝gcc 5.1.0 linux下編寫c c 程式自然缺不了乙個優秀的編譯器,linux下比較常見的自然是gcc了。2015年4月下旬gcc也出到了5.1.0版本,對於c 11 14也有了更好的支援了。因為最近在學習openmp,gcc 5.1.0支援openmp4.0最新版本。所以...

ios版boost庫編譯

bin bash 請自行修改路徑,cd到boost解壓後的目錄下 dir dirname 0 cd dir public libs boost 1 56 0 如果庫檔案已存在,直接退出 if e stage lib libboost date time.a then echo libraries e...

objectarx編譯Debug版arx遇到的問題

錯誤一鏈結錯誤 1 pietdoginte ce s.lib msg.obj error lnk2001 無法解析的外部符號 class atl ctracecategory atl atltraceexception atltraceexception atl 3vctracecategory 1...