Protocol是一种用于通讯时结构化数据的工具,类似于XML简单来说就是一种编码方式。
Protocol buffer CMake 编译
在下载protobuf-3.7.1-all之后解压,进入cmake文件夹
C:\Path\to\protobuf\cmake>mkdir build & cd buildC:\Path\to\protobuf\cmake\build>mkdir debug & cd debugC:\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的同级文件夹下
使用方法
建议去学习,讲解比较详细
具体使用方法见我的博文