ubuntu 安装protobuf

apt 安装

sudo apt install protobuf-compiler

编译安装

-- 方式1

资料链接:ubuntu环境 安装ncnn_ubuntu ncnn_jbyyy、的博客-CSDN博客

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

cd protobuf

git submodule update --init --recursive

./autogen.sh

./configure

make

make check

sudo make install

sudo ldconfig # refresh shared library cache.

查看protobuf版本自动检测

protoc --version


ps1: 上面git clone的方式可以直接下安装包即可,如方式2(这两种方式其实是一样的,仅是下载方式和一点环境配置不一样(环境配置按需要来,其实不用专门配置))

ps2: 这里make check 时可能会报错(如下),但这个问题是可以忽略的。。。

-- 方式2

Ubuntn下安装protobuf和使用详解_小小码农Come on的博客-CSDN博客

① 下载protobuf

shell 复制代码
sudo wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.tar.gz

② 解压protobuf-all-3.19.4.tar.gz

tar -zxvf protobuf-all-3.19.4.tar.gz

③ 编译安装

shell 复制代码
cd protobuf-3.19.4
sudo ./autogen.sh
sudo ./configure --prefix=$INSTALL_DIR  #--prefix指定安装目录,一般不需要
sudo make
sudo make check
sudo make install
PS:若不指定--prefix, 默认是安装在/usr/local/bin、/usr/local/lib和/usr/local/include/google/protobuf 中的。

ps2: 若未指定--prefix后,不想配置环境变量,使用时可能会报 找不到 libprotoc.so.30 和 libprotobuf.so.30,需要将其映射到/usr/lib/x86_64-linux-gnu才行,如下:

ln -sf /usr/local/lib/libprotoc.so.30 /usr/lib/x86_64-linux-gnu/libprotoc.so.30

ln -sf /usr/local/lib/libprotobuf.so.30 /usr/lib/x86_64-linux-gnu/libprotobuf.so.30

④ 配置环境变量和动态连接库

  • 更改环境变量:

    vim /etc/profile

    在文件的末尾添加如下的两行: (把bin路径和pkgconfig路径添加到系统PATH)

    export PATH=$PATH:/home/fwq/softs/protobuf/bin (安装路径)

    export PKG_CONFIG_PATH=$INSTALL_DIR/lib/pkgconfig/

  • 配置动态链接库

    vim /etc/ld.so.conf

    在文件中添加/usr/local/protobuf/lib(注意: 在新行处添加)

    $INSTALL_DIR/lib

更改完成之后ldconfig即可

⑤ 查看是否安装成功

protoc --version

相关推荐
即兴小索奇1 分钟前
linux如何查看当前的目录所在位置
linux·运维·服务器
x66ccff2 分钟前
【linux】快速列出 systemctl 特定名的服务
linux·服务器·数据库
维生素C++21 分钟前
【可变模板参数】
linux·服务器·c语言·前端·数据结构·c++·算法
CodeHackerBhx3 小时前
如何使用VMware安装Linux操作系统
linux·运维·服务器
小阿轩yx3 小时前
小阿轩yx-通过state模块定义主机状态
linux·云计算·运维开发·state定义主机状态·jinja模板
Pakho love5 小时前
Linux:软件包管理器 yum和编辑器-vim使用
linux·编辑器·vim
吴半杯6 小时前
Linux-mysql5.7-mysql8.0安装包下载及安装教程,二合一
linux·运维·服务器
默行默致6 小时前
Linux 常用命令
linux·运维
码哝小鱼6 小时前
firewalld实现NAT端口转发
linux·网络
RememberLey6 小时前
【VitualBox】VitualBox的网络模式+网络配置
linux·网络·virtualbox