如何在ubuntu中安装 arm 版protobuf

sudo vim /etc/profile

vim /.bashrc

 

(1) 安装依赖

如官网所列,protoc 有如下依赖:

autoconf, automake, libtool, curl, make, g++, unzip, gmock

其中 gmock 依赖于 libtool

 依赖git

sudo  apt-get install git -y

sudo apt-get install autoconf automake libtool curl make g++ unzip

git clone https://github.com/protocolbuffers/protobuf.git

cd protobuf/

git submodule update --init --recursive

./autogen.sh     #生成configure文件

./configure --build=i686-pc-linux  --host=arm-linux  --with-protoc=protoc --disable-shared --prefix=$(pwd)/_install 

make

make check

sudo make install

sudo ldconfig

# refresh shared library cache.

(2)编译安装:-

git clone https://github.com/google/protobuf
./autogen.sh  # 生成 configure 文件

source /opt/genvict-imx-fb/4.1.15-1.2.1/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi

根据自己的安装情况命令有所不一样

./configure --build=i686-pc-linux  --host=arm-linux  --with-protoc=protoc --disable-shared --prefix=$(pwd)/_install

./configure --prefix=/此安装目录自己命名

make
make check
sudo make install
sudo ldconfig

注:

安装完成之后,会在 /usr/lib 目录下生成前缀为 libprotobuf, libprotobuf-lite, libprotoc 这三类静态和动态库文件。

然后,我们需要执行 ldconfig 来更新 lib 路径。

如果上述步骤完成之后,执行 protoc 时仍发生错误的话,我们可以按如下方式手动链接

ln -s /usr/lib/libprotobuf.so.10.0.0 /usr/lib/libprotobuf.so

二进制安装

如果不想编译安装,也可以直接下载二进制包来进行安装,我们可以从 这里 直接获取编译好的 protoc 二进制文件。

比如,下载如下两个包:

protoc-3.3.0-win32.zip
protoc-3.3.0-linux-x86_64.zip

解压到 PATH 路径下即可完成安装

sudo unzip protoc-3.0.0-beta-3-linux-x86_64.zip
sudo chmod a+x protoc

查看使用帮助

protoc --help

./configure --host=arm-linux --with-protoc=protoc

编译 OBU2HMI.proto这个文件,生成.cc和.hh两个文件

export LD_LIBRARY_PATH=/usr/local/lib
protoc --cpp_out=./ OBU2HMI.proto

你可能感兴趣的:(mqtt)