windows批处理protoc生成C++代码
1 首先需要生成protoc的可执行文件,具体可以参考 https://www.cnblogs.com/cnxkey/articles/10152646.html
2 将单个protoc文件生成.h和.cc文件
protoc -I=Proto文件路径 –cpp_out=指定输出.h和.cc的目录 Proto文件
3 windows批处理。其实就是在2的基础上增加一个查找proto文件的循环
可以先看看这个 https://www.bbsmax.com/A/n2d9X86Q5D/
我们改一下就可以生成C++代码了
@echo off
::协议文件路径, 最后不要跟“\”符号,可以使用相对路径
set SOURCE_FOLDER=你的proto文件所在目录 ::C++编译器路径
set CPP_COMPILER_PATH=你的protoc.exe的具体路径,比如c:\protoc.exe
::C++文件生成路径, 最后不要跟“\”符号
set CPP_TARGET_PATH=最后cc和h文件存放的目录 ::删除之前创建的文件
del %CPP_TARGET_PATH%\*.* /f /s /q ::遍历所有文件
for /f "delims=" %%i in ('dir /b "%SOURCE_FOLDER%\*.proto"') do (
::生成 C++ 代码
echo %CS_COMPILER_PATH% -I=%SOURCE_FOLDER% --cpp_out=%CPP_TARGET_PATH% %%i
%CS_COMPILER_PATH% -I=%SOURCE_FOLDER% --cpp_out=%CPP_TARGET_PATH% %%i
)
echo Generate Code Finished
pause
总结:
1 装protoc可能会有些困难,我是采用cmake+vs的方式装的,先cmake生成vs的工程,然后vs编译。
2 网上直接搜到的代码未必可以直接用,比如上面参考的博客里面的批处理命令,可能是因为protoc版本太老了,所以参数都不一样了,不过windows批处理的思想是一样的,改一改,试一试,或许就能满足自己的要求了。
3 windows批处理使用之前记得确认好实际功能,避免因为不知道命令的作用而误删除文件,那样就得不偿失了。
参考:
https://blog.csdn.net/CAir2/article/details/78201572 --- 2的命令来源
https://www.bbsmax.com/A/n2d9X86Q5D/ --- 3的批处理代码来源
windows批处理protoc生成C++代码的更多相关文章
- cmd下windows批处理,获取当前系统时间,生成日志文件名
示例: rdGetRTData_log%date:~0,4%%date:~5,2%%date:~8,2%.txt 生成格式: rdGetRTData_log20151103.txt 编写Windows ...
- Windows 窗体设计器生成的代码
namespace 窗体的浮动及隐藏{ partial class Form1 { /// <summary> /// 必需的设计器变量. ...
- windows批处理运行java程序
明确需求 今天你编了一个java swing版照片查看器,想让计算机上的所有照片默认打开方式都改成你的照片查看器. 使用工具软件 很多工具软件都是不把jre打包到exe中的,这就是说打包之后的exe只 ...
- windows批处理(cmd/bat)编程详解
reference: http://blog.csdn.net/bingjie1217/article/details/12947327 http://www.cnblogs.com/doit8791 ...
- WINDOWS批处理命令使用大全
来源:http://www.942dn.com就是爱电脑网 WINDOWS批处理命令使用大全 批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母.它的构成没有固定格式, ...
- windows批处理(.bat)
转自http://www.cnblogs.com/shiney/archive/2011/07/04/2097236.html 本文在运行中有一些小小的问题,我修改了一下,将会在稳重标出 批处理文件是 ...
- [转帖]Windows批处理(cmd/bat)常用命令小结
Windows批处理(cmd/bat)常用命令小结 非常值得学习的文档 先放这里 有时间做实验, 转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于 ...
- Windows 批处理大全(附各种实例)
Windows 批处理大全(附各种实例) 2009年07月19日 21:31:00 阅读数:2552 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命 ...
- Windows 批处理(cmd/bat)常用命令教程
Windows批处理(cmd/bat)常用命令教程 简单详细,建议收藏 常见问题: 1.如果你自己编写的.bat文件,双击打开,出现闪退 2.批处理.bat 文件中输出中文乱码 解决方法在文章末尾! ...
随机推荐
- 动态规划-LCS-Uncrossed Lines
2020-02-11 21:14:18 问题描述: 问题求解: 本质就是LCS. public int maxUncrossedLines(int[] A, int[] B) { int len1 = ...
- vue cli3配置开发环境、测试环境、生产(线上)环境
cli3创建vue项目是精简版的少了build和config这2个文件,所以配置开发环境.测试环境.生产环境的话需要自己创建env文件. 需要注意2点: 1.cli2创建项目生成的config文件里的 ...
- 使用Python+OpenCV进行图像处理(三)| 视觉入门
检测是计算机视觉任务中的主要任务之一,而且应用很广泛.检测技术可以帮助人类检测那些容易被肉眼忽略的错误:也可以"帮助"自动驾驶汽车感知空间信息.无疑自动化的检测技术的广泛应用将为我 ...
- Ubuntu查看文件格式(后缀名)
在文件目录执行: $ file filename #filename表示要查看的文件名
- Day20-tomcat
tomcat 一.Java及tomcat简介 二.安装JDK及tomcat 1.安装jdk 安装jdk很简单,首先下载网上的jdk安装包,我这边下载的是jdk-8u221-linux-x64.tar. ...
- pycharm 秘籍:快捷键技巧等
Pycharm基本使用 安装 下载地址:https://www.jetbrains.com/pycharm/download 选择Professional 专业版 Comunnity社区版是免费的,但 ...
- Codeforces Round #627 (Div. 3)
1324A - Yet Another Tetris Problem(思维) 题意 给一个数组,每一个数组中的元素大小表示在竖直方向的方块数量,元素相邻怎竖直方向的方块也相邻,类似于俄罗斯方块当底层被 ...
- 《Java基础复习》—常识与入门
突然发现自己Java基础的底子不到位,复习! 所记知识会发布在CSDN与博客网站jirath.cn <Java基础复习>-常识与入门 一.Java语言的知识体系图 分为三部分 编程语言核心 ...
- webpack中引用jquery
1.首先需要添加项目中jquery的依赖 npm install jquery --save-dev 2.参考配置代码: var webpack = require("webpack&quo ...
- 2015蓝桥杯五星填数(C++C组)
题目:五星填数 如[图1.png]的五星图案节点填上数字:1~12,除去7和11.要求每条直线上数字和相等.如图就是恰当的填法.请你利用计算机搜索所有可能的填法有多少种.注意:旋转或镜像后相同的算同一 ...