源码编译安装Protobuf [linux、arm]

目录

1、下载对应protobuf版本包

2、编译Linux版本

3、编译Arm版本

4、若指定安装在其他路径下,可通过如下操作进行配置

      1>  sudo vim /etc/profile

       2> 修改.bashrc文件

      3> 配置动态链接库路径

5、Demo实例


1、下载对应protobuf版本包

        源码连接:protobuf-master-3.19.4.zip-C++文档类资源-CSDN下载

2、编译Linux版本

        以protobuf-all-3.12.3.zip版本为例

        解压版本包

        tar -zxvf protobuf-all-3.12.3.zip

        cd protobuf-3.12.3

       ./autogen.sh

        

        若出现以上问题,是因为没有安装autoreconf导致,执行以下命令即可

        apt-get install autoconf automake libtool

        ./configure    [默认路径为/usr/local/路径下对应的include、lib、bin]

        make  -j32   [多线程编译]

        make install   [默认安装后的路径在usr/local下]

        sudo ldconfig

安装完成后显示如下:

3、编译Arm版本

         安装protobuf arm版本需要先安装linux版本,用到其中的生成文件

        生成Makefile文件       

./configure --host=arm-linux --prefix=/usr/local/protobuf --with-protoc=/usr/local/bin/protoc CC=/home/bin/clang CXX=/home/bin/clang++

        --host编译的版本为arm-linux

        --prefix为生成文件的路径

        --with-protoc为linux版protoc的路径,即之前安装的linux版本生成的目录中的工具

        CC指定编译c的工具链为arm-none-linux-gnueabi-gcc

        CXX指定编译c的工具链为arm-none-linux-gnueabi-g++

        【注:交叉编译工具链可按自己需求替换即可,我这里指定的是clang、clang++】

        这一步主要目的是用来生成Makefile文件

        编译安装【同linux】

        编译:make
        安装 : make install

4、若指定安装在其他路径下,可通过如下操作进行配置

      1>  sudo vim /etc/profile

        添加

        export PATH=$PATH:/usr/local/protobuf/bin/
        export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf_arm/lib
        export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf_arm/lib

        保存执行

        source /etc/profile

        同时 在~/.profile中添加上面两行代码,否则会出现登录用户找不到protoc命令

       2> 修改.bashrc文件

        # vi /root/.bashrc
        在里面加入:

        export PATH=$PATH:/usr/local/protobuf/bin/
        export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf_arm/lib
        export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf_arm/lib

      3> 配置动态链接库路径

        sudo vim /etc/ld.so.conf

        插入:

        /usr/local/protobuf/lib

5、Demo实例

代码如下

 cd build

cmake ../

make

编译结果如下

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值