我想使用 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 开发的一种序列化格式。它由接口驱动,适用于通过网络通信的应用程序。以下是协议缓冲区安装的步骤。
下载协议缓冲区。协议缓冲区库可以在此处下载。下载协议缓冲区。
检查机器上是否安装了 g++ 编译器。Protocol buffer 需要机器上安装 g++ 编译器才能构建。这是一篇关于如何在机器上安装 g++ 编译器的简洁文章。安装 g++ 编译器。
提取协议缓冲区档案并切换到提取的目录。
在解压的目录中,输入以下命令来安装协议缓冲区。这可能需要一段时间,请耐心等待。
./configure make make check sudo make install protoc --version
就这样。协议缓冲区版本 2.5.0 已安装在您的机器上。
注意:有时最新版本的协议版本无法加载。因此我们可以通过此命令手动执行此操作
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