protoc安装及配置
使⽤brew安装carthage时碰到报错
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
不论安装的插件是什么,解决⽅法如下:
sudo mkdir /usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks
sudo chown -R `whoami` /usr/local
ProtoBuf编译器google-protobuf
定义.proto⽂件
syntax = "proto3";
package ns;
message User{
string Name = 1;
int32 Age = 3;
}
protoc编译命令
$ protoc
⽤法: protoc [OPTION] PROTO_FILES
解析proto⽂件并根据给定的选项⽣成输出:
-IPATH, --proto_path=PATH 指定搜索⽬录,可多次指定,默认为当前⼯作⽬录。
--version 显⽰版本信息并退出
-h, --help 显⽰帮助⽂档并退出
-
-encode=MESSAGE_TYPE 从标准输⼊读取给定类型的⽂本格式消息,从标准输出写⼊⼆进制⽂件。消息类型必须在原始⽂件或导⼊中定义。
--decode=MESSAGE_TYPE 从标准输⼊中读取给定类型的⼆进制消息,向标准输出中写⼊⽂本格式。消息类型必须定义在proto⽂件或其导⼊的⽂件中。
--decode_raw 从标准输⼊读取任意协议消息,向标准输出写⼊原始标记或⽂本格式的值。
--descriptor_set_in=FILES 指定⽂件分隔符列表,每个都包含了⼀个⽂件描述符集合。
-oFILE, 写⼊FileDescriptorSet
--include_imports 当使⽤--descriptor_set_out时, 同时包含输⼊⽂件的依赖项
--include_source_info 当使⽤--descriptor_set_out时⽆需剥离FileDescriptorProto中的SourceCodeInfo
--dependency_out=FILE 指定依赖输出⽂件
--error_format=FORMAT 设置打印错误格式,默认gcc,可选msvs。
-
-print_free_field_numbers 打印给定proto⽂件中消息定义的可⽤字段号
--plugin=EXECUTABLE 指定使⽤插件的可执⾏⽂件
--cpp_out=OUT_DIR 产⽣C++头⽂件和源⽂件
--csharp_out=OUT_DIR 产⽣C#源⽂件
--java_out=OUT_DIR 产⽣Java源⽂件
--javanano_out=OUT_DIR 产⽣Java Nano源⽂件
--js_out=OUT_DIR 产⽣JavaScript源⽂件
--objc_out=OUT_DIR 产⽣Objective C头⽂件和源⽂件
--php_out=OUT_DIR 产⽣PHP源⽂件
--python_out=OUT_DIR 产⽣Python源⽂件
--ruby_out=OUT_DIR 产⽣Ruby源⽂件
@<filename> 从⽂件中读取选项和⽂件名
mac上安装
brew install protobuf #只能安装最新的⼏个版本 protoc --version
如果需要安装2.4.1⽐较⽼的版本
github/protocolbuffers/protobuf/releases/tag/v2.4.1
下载之后
进⼊protobuf-2.4.1⽂件夹
./configure
接着
make
make check
make install
执⾏完之后查看是否安装成功
protoc --version
<;第⼀步>安rew
rubyinstaller安装homebrew是mac下⽤来代替apt-get命令的,主要⽤于⾃动从互联⽹的软件仓库中搜索、安装、升级、卸载软件或操作系统。安装protobuf时缺少automake以及libtool,需要brew 命令进⾏安装。
打开Mac终端执⾏下⾯命令。即可安装(也可⾃⾏百度Mac下如何安rew)
执⾏安装完成后可以执⾏以下命令查看安装是否成功
brew --version
接下来安装Protobuf Compiler,执⾏⼀下⼏个命令即可:
Automake 是⼀种帮助『⾃动』产⽣ Makefile ⽂件的软件,并且让开发出来的的软件可以象 Apache,MySQL 和常见的 GNU 软件⼀样,程序设计者只需要写⼀些预先定义好的宏 (macro),提交给Automak
e处理后会产⽣⼀个可以供 Autoconf 使⽤的 Makefile.in⽂件。再配合利⽤ Autoconf产⽣的⾃动配置设置⽂件 configure 即可产⽣⼀份符合 GNU Makefile 惯例的 Makeifle 了.
libtool是⼀种属于GNU建构系统的GNU程序设计⼯具,⽤来产⽣便携式的库;
brew install automake
brew install libtool
brew install protobuf
拉取到本地成功后进⼊到protobuf⽂件夹⽬录中执⾏
./autogen.sh
<;第三步>安装Protobuf,分别执⾏以下命令<;这是⼀个需要时间的过程,耐⼼等待⼀下知道安装完成>
./configure
make check
make
make install
所有操作完成后可以执⾏ protoc --version 命令检测是否真正安装成功
lizhideiMac:~ yinghui$ protoc --version
libprotoc 3.17.3
导出pb⽂件
protoc --proto_path=/Users/yinghui/Desktop/Work/SlotSlg/ProjectProj1/Proto --descriptor_set_out=/Users/yinghui/Desktop/Work/SlotSlg/ProjectProj1/Assets/UsrAssets/Src/Basic/Model/Proto/GD_ /Users/yinghui/Desktop/Work/SlotSlg/
如果报错/bin/bash: command not found
which protoc
到路径后在usr/local/bin中软连接protoc到此⽂件夹
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论