前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【ProtoBuf】2.环境配置

【ProtoBuf】2.环境配置

作者头像
每天都要进步呀
发布2023-10-16 11:12:47
3090
发布2023-10-16 11:12:47
举报
文章被收录于专栏:C++/LinuxC++/Linux

PS: 安装中途出现很多error,可能是轻量级云服务器性能不够,此外还有中间的一些配置错误问题,最终采用了虚拟机,解决问题的方案在解决专栏中

一. 安装Protofbuf-Win

下载地址:Release Protocol Buffers v21.11 · protocolbuffers/protobuf (github.com)

image-20230520170513411
image-20230520170513411

根据自己所需的版本安装即可,我使用的Win64,因此安装的是红框的版本。

二. 配置环境变量

  1. 下载完之后将压缩包解压在某一个位置,打开解压后的文件夹:
image-20230520170837110
image-20230520170837110
  1. 进入bin目录,将其中的地址复制下来
image-20230520170922805
image-20230520170922805
  1. 搜索:“编辑系统环境变量” 并进入
image-20230520171017675
image-20230520171017675

点击:

image-20230520171102815
image-20230520171102815

接下来:

image-20230520171201632
image-20230520171201632
image-20230520171334285
image-20230520171334285

三.验证是否添加成功

  1. 打开终端:快捷键(Win + R), 输入cmd进入终端:
image-20230520171448625
image-20230520171448625
  1. 点击确定,进入终端后,输入:protoc --version
  2. 若出现下面结果,表示配置成功:
image-20230520171607866
image-20230520171607866

四. Linux下Protobuf安装包的安装

1. 下载ProtoBuf

下载ProtoBuf前⼀定要安装依赖库:autoconf automake libtool curl make g++ unzip 如未安装,安装命令如下:

Ubuntu用户选择:

代码语言:javascript
复制
sudo apt-get install autoconf automake libtool curl make g++ unzip -y

Centos用户选择:

代码语言:javascript
复制
sudo yum install autoconf automake libtool curl make gcc_c++ unzip

上面的下载完之后,继续接下来的操作

ProtoBuf下载地址21.11路径:Release Protocol Buffers v21.11 · protocolbuffers/protobuf (github.com)

如果是C++版本,就下载下面的文件:

image-20230520172749489
image-20230520172749489

如果想在各种语言都能使用(如Java、C++、php等),就下载第二个文件:

image-20230520172855274
image-20230520172855274

为了更好的兼容,我们选择下载第二个文件,通过右键复制链接,在xshell中输入:wget,并将刚才的链接粘贴到xshell中:

image-20230520173113338
image-20230520173113338

实际上就是将压缩包以及里面的代码下载到Linux环境。(下载需要一些时间。)

image-20230520173658847
image-20230520173658847

下载完成。

2. 解压压缩包

命令:unzip protobuf-all-21.11.zip

image-20230520173838115
image-20230520173838115

解压后的这个目录中就是源码内容。

image-20230520173941510
image-20230520173941510

通过里面的文件就可以将程序真正的安装了。

3. 安装ProtoBuf

代码语言:javascript
复制
# 第⼀步执⾏autogen.sh,但如果下载的是具体的某⼀⻔语⾔,不需要执⾏这⼀步。
./autogen.sh
# 第⼆步执⾏configure,有两种执⾏⽅式,任选其⼀即可,如下:
# 1、protobuf默认安装在 /usr/local ⽬录,lib、bin都是分散的
./configure
# 2、修改安装⽬录,统⼀安装在/usr/local/protobuf下
./configure --prefix=/usr/local/protobuf
  1. 输入./autogen.sh
image-20230520174227949
image-20230520174227949

稍微等一等~

image-20230520174301153
image-20230520174301153

完成。

  1. 输入:./configure --prefix=/usr/local/protobuf

再依次执⾏

代码语言:javascript
复制
make // 执⾏15分钟左右
make check // 执⾏15分钟左右
sudo make install
  1. 输入:make

(上一步操作生成了makefile,接下来就可以进行make,这一步消耗时间较长,大概15分钟)

image-20230520174642035
image-20230520174642035

long time …

image-20230520180036526
image-20230520180036526
  1. 输入make check

(这个过程是检测,是可有可无的)

执⾏make check 后,出现以下内容就可以执⾏ sudo make install

image-20230520180237842
image-20230520180237842

如果其中的test出现FAIL,即如下情况:

image-20230520210452117
image-20230520210452117

这个问题是test的模块里面有非常多的测试用例,有些测试用例对服务器环境要求特别严格,需要增大下swap分区,但他是不影响我们后续正常使用的,可以跳过这一步。如果后续出现头文件报错,那是编译器版本比较低,因此我们需要将改g++升级到8,而我们普通安装的方式最高就是4.8.5因此,需要其他的方式配置。

  1. 输入sudo make install
image-20230521142706292
image-20230521142706292

完成。

4. 最后添加内容

到此,需要你回忆⼀下在执⾏configure时,如果当时选择了第⼀种执⾏⽅式,也就是./configure ,那么到这就可以正常使⽤protobuf了。如果选择了第⼆种执⾏⽅式,即修改了安装⽬录,那么还需要在/etc/profile中添加⼀些内容:

代码语言:javascript
复制
sudo vim /etc/profile
# 添加内容如下:
#(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执⾏程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头⽂件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头⽂件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

最后⼀步,重新执⾏/etc/profile⽂件:

代码语言:javascript
复制
source /etc/profile

5.检查是否安装成功

输⼊ protoc --version 查看版本,有显⽰说明安装成功。

代码语言:javascript
复制
cfy@139-159-150-152:~/install/protobuf-21.11$ protoc --version
libprotoc 3.21.11

五. 升级g++到8版本

上述提到,g++不提高到最新版本在后续操作会头文件报错,因此下面我们配置g++编译器

【解决】升级g++到8版本_每天都要进步呀~的博客-CSDN博客

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 安装Protofbuf-Win
  • 二. 配置环境变量
  • 三.验证是否添加成功
  • 四. Linux下Protobuf安装包的安装
    • 1. 下载ProtoBuf
      • 2. 解压压缩包
        • 3. 安装ProtoBuf
          • 4. 最后添加内容
            • 5.检查是否安装成功
            • 五. 升级g++到8版本
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档