转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/5782992.html

===========================================================================

170316更新:

目前最新稳定版本应该是3.2:

https://github.com/google/protobuf/releases

可以查看。也可以使用该网址中的进行下载。可以直接安装。

170316更新结束

170122更新:

1. 目前最新版本为3.0(有找.1和3.2,不知道是否不是稳定版的)。3.0的依旧可以用下面的方式安装。

2. protobuf3.0的下载地址:https://github.com/google/protobuf/releases/tag/v3.0.0

3. protobuf的下载地址:https://github.com/google/protobuf/releases。这两个都不需要翻墙了。

4. http://www.cnblogs.com/darkknightzh/p/5804395.html为使用protobuf的简单的例子。如果编译该cpp文件的时候,提示好多未定义的引用:

addressbook.pb.cc:(.text+0x133):对‘google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(google::protobuf::Descriptor const*, google::protobuf::Message const*, int const*, int, int, int, int, int, int)’未定义的引用
addressbook.pb.cc:(.text+0x193):对‘google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(google::protobuf::Descriptor const*, google::protobuf::Message const*, int const*, int, int, int, int, int, int)’未定义的引用

可能是因为电脑安装了两个不同版本的protobuf(ubuntu16默认已经安装了protobuf.so.9这系列的,新装的是protobuf.so.10系列的)。默认的路径见160819更新

170122更新结束

===========================================================================

目前最新的是1.6.1

1. 卸载掉老版本的Protocol:

sudo apt-get remove libprotobuf-dev

2. 下载最新的Protocol Buffers。下载网址:https://developers.google.com/protocol-buffers/docs/downloads。需跨越长城。最新版的是2.6.1.

说明:最好不要在github上面下载(可以直接使用170316中的地址进行下载)。此处顺便贴出github的网址:https://github.com/google/protobuf/。原因是,github上面下载的没有configure文件。此时需要先在该文件夹内运行./autogen.sh命令。该命令会从无法访问的网站下载文件。导致连接超时(如果电脑能fq,就没事。否则就没法下载成功。我这边是使用的电脑是win7,能fq,但是安装的是服务器,是ubuntu,没办法fq,因而会出现死结)。。。

所以直接在可以fq的电脑上下载protobuf-2.6.1.tar.gz压缩包。

3. 下载完之后,按照https://github.com/google/protobuf/blob/master/src/README.md说明的步骤安装:

4. 先安装依赖(因以前安装过,所以不需要再次安装):

sudo apt-get install autoconf automake libtool curl make g++ unzip

5. 在终端中依次运行如下命令(只针对C++的安装,其他的。。。我没用过):

./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.

160819更新:官网写了,默认会安装到/usr/local路径下,但是/usr/local/lib不一定是系统路径LD_LIBRARY_PATH的一部分,因而或者将/usr/local/lib增加到系统路径LD_LIBRARY_PATH,或者指定安装路径。最好的就是指定安装到/usr路径(此时由于拷贝lib文件夹,实际上安装到/usr/lib路径),如下命令:

./configure --prefix=/usr

还有,如果以前有安装过的话,现在想安装到其他路径,使用make clean清理一下原来的版本。

6. 安装完之后,使用protoc --version查看版本,便是最新的2.6.1

==================================================================================================

160819更新:

今天用protoc --version,发现又变回了2.5.0,我。。。使用dpkg -L libprotobuf-dev,查找路径,发现在/usr/lib/x86_64-linux-gnu里面还是有libprotobuf.so.8的一系列文件。卸载掉老版本的protocol后,使用sudo rm -rf强制删除了这些文件(不清楚是否会有什么影响吧。。。),然后再次重新安装2.6.0的版本。。。不知道以后还会出现什么问题。

160819更新jieshu

==================================================================================================

(原)Ubuntu16中卸载并重新安装google的Protocol Buffers的更多相关文章

  1. 在Quick-cocos2dx中使用云风pbc解析Protocol Buffers,支持win、mac、ios、android

    本例主要介绍 如何将 pbc 集成到quick-cocos2dx框架中,让我们的cocos2dx客户端Lua拥有编解码Protocol Buffers能力. 参考: 云风pbc的用法: http:// ...

  2. (原)ubuntu16中简单的使用google的protobuf

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5804395.html 参考网址: http://www.cnblogs.com/luosongchao ...

  3. google的protocol buffers 对象的序列化 for java

    前言: protobuf确实比JSON快很多倍,看下面的图就知道了. 环境: win7 x64 eclipse 4.3 protoc-2.5.0 安装包下载: https://code.google. ...

  4. [转载]在 Windows 10 中, 如何卸载和重新安装 OneNote App

    在 Windows 10 中, 如何卸载和重新安装 OneNote App 15/8/2015 使用 PowerShell 命令卸载 OneNote App 开始菜单 -> 输入 "P ...

  5. (原)ubuntu16中安装moses

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5653186.html 在ubuntu14中,可以使用下面的语句安装moses: luarocks in ...

  6. 卸载或重新安装Redis集群

    卸载或重新安装Redis集群 1.如果需要修改端口号,则需要将原来的Redis各节点的服务器卸载,并重新安装, 卸载服务命令如下: D:/Redis/redis-server.exe --servic ...

  7. 3DSMAX安装失败,如何卸载修复重新安装3dmax 2017?

    一些同学安装3dmax出错了,也有时候想重新安装3dmax的时候会出现这种本电脑已安装3dmax,你要是不留意直接安装,只会按装3dmax的附件,3dmax是不会按装上的.这种原因呢就是大家在之前卸载 ...

  8. VMware中卸载安装Ubuntu系统 ——Ubuntu系统配置(一)

    由于之前配置给Ubuntu的磁盘空间不足,进行了扩展磁盘空间,结果Ubuntu无法开机了,试了很多种办法都没成功,也有些后悔没有记录下配置过程,于是决定卸载Ubuntu进行重新安装和配置. 一.VMw ...

  9. vs2013卸载后重新安装不能用了,如何解决

    vs2013卸载后重新安装不能用了 据说VS卸载后有残留文件,估计是注册文件没删除,弄了很多方法,最后只有重装.你可以下载一个cclearn清理注册表,再装试试 我卸载完用360清理了一下 之后再安装 ...

随机推荐

  1. winPcap_6_不用回调方法捕获数据包

    用 pcap_next_ex() 函数代替 _5_ 中的 pcap_loop()函数: pcap_loop()函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选 ...

  2. 如何debug android cts

    启动和关闭ADB服务(adb start-server和adbkill-server) 经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可以找到这个服务,该服务用来为模拟器 ...

  3. 从运行原理及使用场景看Apache和Nginx

    用正确的工具,做正确的事情. 本文只作为了解Apache和Nginx知识的一个梳理,想详细了解的请阅读文末参考链接中的博文. Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务 ...

  4. 记一道css面试题 : 三栏布局两边宽度固定,中间宽度自适应,并且布局随屏幕大小改变。

    前几天面试时有道css题没做出来,回来好好学习一番后把其记录下来. 题目是这样的:左中右三栏布局,左右两栏宽度固定,左右两栏的宽度为200像素,中间栏宽度自适应.当屏幕小于600px时,3栏会分别占用 ...

  5. 如何实现SQL事务的提交,又不对外进行污染

    一.以下是本人的一点思路: 1.在事务方法中,参数运用委托Func,选用Func 的原因是多入参,单一出参2.事务传参运用泛型,选用泛型的原因是可以减少代码量,类型安全 二.说明中涉及4个类:1.Or ...

  6. mysql 5.7 内存使用监控

    5.7 中的performance_schema 已经有能力监控mysql 的内存使用情况了,对于这一点也是要通过instrument 来实现的,由于内存这一块没有对应的consumer 所以只要 配 ...

  7. shell 脚本FTP自动上传文件

    下面的脚本 会把本地的文本文件压缩后, 上传到FTP服务器上. 里面有一点小逻辑, 就是上传的文本文件 是 日期时间.txt 形式的, 一天写一个日志文件, 今天的文件不上传, 只上传 老的日志文件. ...

  8. 多目录下多文件 makefile编写

    前面已经分享了单目录项下多文件的makefile的编写,现在来看看多目录下多文件makefile的编写: 在做项目时,一般文件都会分几个目录来存放:基本的是  include/  bin/ src/ ...

  9. windows phone中三种解析XML的方法

    需求如下, 项目需要将一段xml字符串中的信息提取出来 <?xml version=""1.0"" encoding=""UTF-8& ...

  10. Sql Server 2005的1433端口打开和进行远程连接

    参考地址:http://topic.csdn.net/u/20090828/16/e693935a-99b7-4090-a6bc-0123c91183eb.html 1.如何打开sql server  ...