2019 年更新

2019 年更新

我想使用 netty 和 protobuf 在 java 上创建一个项目,用于客户端和服务器之间的通信。请指导我如何在 ubuntu 12.04 上安装 protobuf?

答案1

取自http://www.confusedcoders.com/random/how-to-install-protocol-buffer-2-5-0-on-ubuntu-13-04

协议缓冲区是 Google 开发的一种序列化格式。它由接口驱动,适用于通过网络通信的应用程序。以下是协议缓冲区安装的步骤。

  1. 下载协议缓冲区。协议缓冲区库可以在此处下载。下载协议缓冲区

  2. 检查机器上是否安装了 g++ 编译器。Protocol buffer 需要机器上安装 g++ 编译器才能构建。这是一篇关于如何在机器上安装 g++ 编译器的简洁文章。安装 g++ 编译器

  3. 提取协议缓冲区档案并切换到提取的目录。

  4. 在解压的目录中,输入以下命令来安装协议缓冲区。这可能需要一段时间,请耐心等待。

    ./configure
    make
    make check
    sudo make install
    protoc --version
    
  5. 就这样。协议缓冲区版本 2.5.0 已安装在您的机器上。

  6. 注意:有时最新版本的协议版本无法加载。因此我们可以通过此命令手动执行此操作

    sudo ldconfig
    protoc --version
    

答案2

看来 12.04 是第一个版本之一apt-get 下包含 protobuf!

只需运行:

sudo apt-get install libprotobuf-java protobuf-compiler

您应该已经准备好在 Java 中使用 protobufs 了。

话虽如此,12.04 仅支持通过这种方式升级到 protobuf v2.4。因此,如果您需要较新的功能,则需要按照其他答案中所述从 github 获取它。

答案3

至于我,我在 ubuntu12 中安装了 protpbuf 2.6.1

1.下载

https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz

2. 安装

tar -zxvf protobuf-2.6.1.tar.gz  #unzip

sudo apt-get update
sudo apt-get install build-essential 

cd protobuf-2.6.1/ 

./configure

make -j10

make check -j10 

sudo make install -j10 

3.检查安装成功

protoc --version # 如果 echo 'libprotoc 2.6.1' 则成功

4. 如果失败

如果显示错误“protoc:加载共享库时出错:libprotoc.so.9:无法打开共享对象文件:没有此文件或目录”

sudo updatedb 定位 libprotoc.so.9

/usr/local/lib/libprotoc.so.9 /usr/local/lib/libprotoc.so.9.0.1

所以我们需要将其添加到LD_LIBRARY_PATH

vi ~/.bashrc 然后添加

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

然后:

源 ~/.bashrc

protoc --version

你会得到libprotoc 2.6.1

答案4

2019 年更新

以下是我安装 protobuf 的方法建造Eternal Terminal(一款非常棒的终端模拟器,它autossh结合mosh原生滚动):

sudo apt install libprotobuf-dev protobuf-compiler

相关内容