Protocol buffer 指南

Protocol是一种用于通讯时结构化数据的工具,类似于XML简单来说就是一种编码方式。

Protocol buffer CMake 编译

在下载protobuf-3.7.1-all之后解压,进入cmake文件夹

C:\Path\to\protobuf\cmake>mkdir build & cd build
C:\Path\to\protobuf\cmake\build>mkdir debug & cd debug
C:\Path\to\protobuf\cmake\build\debug>cmake -G "NMake Makefiles" ^
 -DCMAKE_BUILD_TYPE=Debug ^
 -DCMAKE_INSTALL_PREFIX=../../../../install ^
 ../.. -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON

其中’-Dprotobuf_BUILD_TESTS’决定是否生成测试程序,’-Dprotobuf_BUILD_SHARED_LIBS’决定是否只生成动态库(lib文件),因为需要静态库(dll文件),所以我选择ON
之后会在protobuf-3.7.1文件夹下生成一个install文件里面是编译好的文件,但是也看你解压之后的文件到底在什么位置,在例程中是这样,具体生成位置可以看cmd显示的编译信息,包括dll文件和lib文件以及exe文件和include头文件。

这里生成dll文件是因为在visual studio中的话dll更好使一些,

在安装protocol时CMake出错

protocol buffer 中有zlib的调用,在使用anaconda之后再编译protocol时便会调用anaconda下的zlib,但是两者不太兼容导致编译出错,
建议:
不要将anaconda的位置设置为全局的环境变量导致该问题。
将protocol buffer 放在其他电脑上编译,在直接的电脑上直接安装使用

Python 安装

在使用setup.py安装时,需要将proto的安装位置,或者说proto所在的位置设置为环境变量,使用pip编译时需要调用

   python -v
   protoc --version
   python setup.py build
   python setup.py test

注意一定都要看README.MD,其中CMAKE的readme在cmake文件夹下,Python的setup的readme在setup.py的同级文件夹下

使用方法

建议去protocol-buffers指南学习,讲解比较详细
具体使用方法见我的博文 四种将序列数据转换为Pandas DataFrame数据方法效率对比

发布了31 篇原创文章 · 获赞 42 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Flame_alone/article/details/104193626