zoukankan      html  css  js  c++  java
  • protobuf使用遇到的坑

    在这里具体的使用我不写了,可以参考下面接个连接,我只记录自己遇到的问题。

    https://www.cnblogs.com/autyinjing/p/6495103.html(此博客很详细,不过最好不要下载博客中给的源码,最好下载2版本,介绍看下面)

    源码下载连接:https://sourceforge.net/projects/protobuf/   可以下载2.6的版本,已经试过,没问题。

    接下来避雷区

    1.不要用3版本,因为在与c++代码一块编译时出现的错误比代码还多,具体原因我还不知道,后来还了2版本就没问题啦,编译步骤可以参考上面的博客。

    2.编译完成后命令、头文件等分别在/usr/local/bin 、/usr/local/include 、/usr/local/lib 中

    3.这时在和c++文件编译链接的时候没有报错了,但是在执行的时候出现找不到动态库的错误,如下图:

    解决办法:执行命令export LD_LIBRARY_PATH=/usr/local/lib到此就可以正常执行了,不过export只是临时测试,新的终端或者其同重启都会失效,要想长期有效,可以修改如下变量

      打开~/.bashrc 或者/etc/bashrc文件,在最后加入export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib即可

    4.文件编译命令

      4.1  .proto文件的编译

         protoc -I=/home/edan/test/protobuf/ --cpp_out=/home/edan/soft/protobuf-2.6.0  /home/edan/test/protobuf/addressbook.proto

        -I=“.proto文件存放的路径”

        -cpp_out= “输出的cpp文件存放的路径”

            “.proto的源码路径”

     更新:

    因项目需要,必须用3版本的protobuf,于是又卸载重新安装,安装的3.6.1的版本是可以用的,只是protobuf安装后需要将path路径,库所在路径,在/etc/profile中进行添加,并重启系统,然后安装protobuf-c,否则会报错,如果出现没有找到protobuf的头文件,那是配置的问题,在/etc/profile中添加"export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/  "

    protobuf-c安装完毕后同protobuf加入路径,并重启系统

    ///////etc/profile需要添加的代码

     1 ////protobuf的配置路径
     2  export LD_LIBRARY_PATH=/usr/lib                                             
     3                                                                             
     4 export PATH=$PATH:/usr/local/protobuf/bin/                                  
     5 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/          
     6 export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include   
     7                                                                            
     8 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/                            
     9        
    10 //protobuf-c的配置路径                                                                      
    11 export PATH=$PATH:/usr/local/protobuf-c/bin/                                
    12 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf-c/include/ 
  • 相关阅读:
    查看.Net Framework版本的方法
    JS手机号码自动换位
    VS2008正版序列号
    ASP.NET对XML的操作
    JS宽高度
    下载某个网站的内容
    C#中如何将控件中表格数据导出到exeal文档中
    像素 厘米 英寸 换算
    编程经验点滴避免使用汉语拼音做变量名
    编程经验点滴避免在数据库访问函数中使用 try catch
  • 原文地址:https://www.cnblogs.com/edan/p/9968310.html
Copyright © 2011-2022 走看看