背景介绍
出现编译报错,显示nanob-protoc: not find,
1 第一步安装protobuf
去github上下载一个protobuf的release版本,下载all版本,在本地解压缩之后,通过make install来安装.并安装python语言支持
- wqp@wqp-virtual-machine:/home/share/samba/rda/protobuf-3.7.1$ ./configure
…(等待执行完成)
- wqp@wqp-virtual-machine:/home/share/samba/rda/protobuf-3.7.1$ make
执行完成之后再次执行出现如下现象显示执行成功(注意执行出错的是可以在make之前增加sudo来提高文件创建权限)
- wqp@wqp-virtual-machine:/home/share/samba/rda/protobuf-3.7.1$ make install
…(等待执行完成,protobuf就安装好了)
make install也是一样的道理,必要时增加sudo提高权限
- wqp@wqp-virtual-machine:/home/share/samba/rda/protobuf-3.7.1$
protoc --version
安装成功之后执行protoc --version显示当前protoc 版本号
- wqp@wqp-virtual-machine:/home/share/samba/rda/protobuf-3.7.1$
cd python/
·wqp@wqp-virtual-machine:/home/share/samba/rda/protobuf-3.7.1$
python setup.py build
2.安装python库
sudo apt-get install python-pip
sudo apt-get install python-pip
sudo apt-get install --reinstall python-pkg-resources
以上三条指令均可以考虑到时间效率问题采用最后一种: - sudo apt-get install --reinstall python-pkg-resources
- 再次执行python setup.py build
执行过程中还需要安装一个库 python-setuptools等待执行完成
- 再次执行python setup.py build等待执行完成
- wqp@wqp-virtual-machine:/home/share/samba/rda/protobuf-3.7.1$
python setup.py install
…(等待执行完成)
3.下载nanopb
去github上下载一个nanopb的release版本,我这里下载nanopb-0.3.9.3-linux-x86
解压后,能够在目录下看到下面7文件,这7个文件我们需要添加到c工程里面的
特别注意:Nanopb编译器不支持string的动态定义,Protobuf-c编译出来是char *指针类型,但是Nanopb编译一定是char数组类型。
4.文件下载结束展示
5.编译.proto文件
编译.proto文件,生成pb文件
接着就可以编译了