安装环境Ubuntu 14.04 64 bit

安装过程分为三步

1. Linux下安装Protobuf

2. Eclipse下安装protobuf.dt插件

3. Eclipse下配置动态链接库并运行demo

第一步 Linux下安装protobuf

到官网下载protobuf,目前的最新版本是2.5.0,也是超过1年没有更新了

解压,进入文件夹内,依次运行下面的命令

./config

make

make check

sudo make install(这一步需要管理员权限,否则会报错)

修改动态链接库

sudo su - 以管理员身份执行下面的命令

在 vim ld.so.conf 加入 /usr/local/lib保存退出

执行ldconfig

protoc --version 即可看到版本号

这里注意,首先make install命令需要创建文件夹,因此要管理员权限;其次,直接su ldconfig在我机器上会报错,我就直接sudo su -;最后,我直接将./config安装到默认的文件夹下(/usr/local/lib)下了,因此不需要配置环境变量

第二步 Eclipse下安装protobuf.dt插件

链接: https://code.google.com/p/protobuf-dt/wiki/Installing

实际上需要装两个插件,一个是xtext, 另外是protobuf-dt

直接到eclipse的market去搜就行了

我先装的xtext2.6,又装了protobuf-dt,结果安装失败了,又装了一遍xtext才成功,不知道为什么。

安装完毕后需要在preference做些配置,默认情况下protobuf是不启用的

配置可参考链接: https://code.google.com/p/protobuf-dt/wiki/IntegrationWithProtoc

完成第二步后,可以尝试在一个project钟写xxx.proto文件,你会看到语法高亮,保存后,会自动生成src-gen文件夹,文件夹下有xxx.pb.h和xxx.pb.cc文件

第三步 配置动态链接库

#include "msg.pb.h"
#include <fstream>
#include <iostream>
using namespace std; int main(void) {
lm::helloworld msg1;
msg1.set_id();
msg1.set_str("hello"); fstream output("./log", ios::out | ios::trunc | ios::binary); if(!msg1.SerializeToOstream(&output)) {
cerr << "Failed to write msg." << endl;
return -;
}
return ;
}

写了一个demo,eclipse下编译失败。

但在命令行下 g++ msg.pb.cc writer.cpp -o writer -lprotobuf -lpthread就能编译成功

右击project,依次点击preference, C/C++ Buid, Settting, 在Setting下,找到GCC C++ Linker, Libraries, 在Libraries(-l)中添加两个条目,分别是protobuf和pthread

第三步卡了我很久,其实这个问题在我以前用boost的时候就碰到过,当初的情况好些,毕竟boost用的人比较多,最终也是靠查找以前做的记录才搞好。

Linux Eclipse 运行Protobuf的更多相关文章

  1. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  2. Java项目打包在CMD或者Linux下运行

    Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压

  3. 实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  4. 20145203盖泽双实验一 Java开发环境的熟悉(Linux + Eclipse)

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

  5. 实验一 Java开发环境的熟悉(Linux+Eclipse)

    实验一 Java开发环境的熟悉(Linux+Eclipse) 实验内容及步骤 使用JDK编译.运行简单的Java程序 打开windows下的cmd → 输入cd Code命令进入Code目录 → 输入 ...

  6. 20155235 《Java程序设计》 实验一 Java开发环境的熟悉(Linux + Eclipse)

    20155235 <Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编 ...

  7. 实验一 Java开发环境的熟悉(Linux+Eclipse)

    实验一 Java开发环境的熟悉(Linux+Eclipse) 在Linux或Window或macOS中命令行下运行Java 在Linux 或Window或 macOS环境中 IDEA中调试设置断点 实 ...

  8. 20162303 实验一 Java开发环境的熟悉(Linux + Eclipse)

    北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 石亚鑫 学号:20162303 成绩: 2分 指导教师:娄嘉鹏 王志强 实验日期:3月17日 实验密 ...

  9. 20162321 实验一 Java开发环境的熟悉(Linux + Eclipse)

    北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 王彪 学号:20162321 指导教师:娄嘉鹏 王志强 实验日期:3月25日 实验密级: 非密级 预 ...

随机推荐

  1. springcloud服务已经关但是Eureka还是显示up

    该状态持续很久,访问该服务也返回错误,但在注册中心界面,该服务却一直存在,且为UP状态,并且在大约十分钟后,出现一行红色大字:EMERGENCY! EUREKA MAY BE INCORRECTLY ...

  2. kinect2的标定

    我用的是ubuntu14.04LTS,ROS 版本是indigo,kinect v2,我是用双系统装的ubuntu,关于怎么使用安装kinect2的安装以及使用的都在github上有着详细的说明 Ki ...

  3. Centos7下安装运行keepalived

    master服务器ip地址:192.168.0.182 slave服务器ip地址:192.168.0.189 虚拟ip(VIP,一个尚未占用的内网ip即可)地址:192.168.0.180  确认使用 ...

  4. 关于css定位

    关于定位要弄清一个概念,那就是"文档流" 什到是文档流 说得简单一点 就是 自上而下 从左到右 生成顺序 关于html元素又分为两种 块状元素 内联元素 块状元素:单独占一行 内联 ...

  5. R语言如何将字符串转变为命令执行

    这里用到 eval() 和 parse() 函数.首先使用 parse() 函数将字符串转化为表达式(expression),而后使用 eval() 函数对表达式求解.x <- 1:10a &l ...

  6. Sword redis C语言接口介绍

    hiredis安装 hiredis是redis官方推荐的基于C接口的客户端组件,它提供接口,供c语言调用以操作数据库. 在redis的源码包的deps/hiredis下就有它的源码 安装方法,进入de ...

  7. Qt之QLocalSocket

    简述 QLocalSocket类提供了一个本地socket. 在Windows中,这是一个命名管道:在Unix中,这是一个本地网域socket. 如果发生错误,socketError()会返回错误的类 ...

  8. oauth2.0服务端与客户端搭建

    oauth2.0服务端与客户端搭建 - 推酷 今天搭建了oauth2.0服务端与客户端.把搭建的过程记录一下.具体实现的功能是:client.ruanwenwu.cn的用户能够通过 server.ru ...

  9. 关于Unity中的NGUI字体

    NGUI字体类型 1: UIFont字体,UIFont类实现的2: TTF动态字体的使用3: BBCode的特殊字体的使用4: NGUI字体制作5: BMFont字体制作和艺术字体的制作6: UILa ...

  10. 如何利用pyCharm编写和运行python文件

    在安装python环境后,通常可以利用IDE pyCharm来编译我们的python文件.创建一个python文件夹,用pyCharm打开文件夹,在文件夹中新建一个python文件demo.py 也许 ...