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++代码的更多相关文章

  1. cmd下windows批处理,获取当前系统时间,生成日志文件名

    示例: rdGetRTData_log%date:~0,4%%date:~5,2%%date:~8,2%.txt 生成格式: rdGetRTData_log20151103.txt 编写Windows ...

  2. Windows 窗体设计器生成的代码

    namespace 窗体的浮动及隐藏{    partial class Form1    {        /// <summary>        /// 必需的设计器变量.      ...

  3. windows批处理运行java程序

    明确需求 今天你编了一个java swing版照片查看器,想让计算机上的所有照片默认打开方式都改成你的照片查看器. 使用工具软件 很多工具软件都是不把jre打包到exe中的,这就是说打包之后的exe只 ...

  4. windows批处理(cmd/bat)编程详解

    reference: http://blog.csdn.net/bingjie1217/article/details/12947327 http://www.cnblogs.com/doit8791 ...

  5. WINDOWS批处理命令使用大全

    来源:http://www.942dn.com就是爱电脑网 WINDOWS批处理命令使用大全 批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母.它的构成没有固定格式, ...

  6. windows批处理(.bat)

    转自http://www.cnblogs.com/shiney/archive/2011/07/04/2097236.html 本文在运行中有一些小小的问题,我修改了一下,将会在稳重标出 批处理文件是 ...

  7. [转帖]Windows批处理(cmd/bat)常用命令小结

    Windows批处理(cmd/bat)常用命令小结 非常值得学习的文档 先放这里 有时间做实验, 转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于 ...

  8. Windows 批处理大全(附各种实例)

    Windows 批处理大全(附各种实例) 2009年07月19日 21:31:00 阅读数:2552 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命 ...

  9. Windows 批处理(cmd/bat)常用命令教程

    Windows批处理(cmd/bat)常用命令教程 简单详细,建议收藏 常见问题: 1.如果你自己编写的.bat文件,双击打开,出现闪退 2.批处理.bat 文件中输出中文乱码 解决方法在文章末尾! ...

随机推荐

  1. 图-连通分量-DFS-并查集-695. 岛屿的最大面积

    2020-03-15 16:41:45 问题描述: 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合.你可以假设二 ...

  2. 图像的特征工程:HOG特征描述子的介绍

    介绍 在机器学习算法的世界里,特征工程是非常重要的.实际上,作为一名数据科学家,这是我最喜欢的方面之一!从现有特征中设计新特征并改进模型的性能,这就是我们进行最多实验的地方. 世界上一些顶级数据科学家 ...

  3. Github标星过万,Python新手100天学习计划,这次再学不会算我输!

      作为目前最火也是最实用的编程语言,Python不仅是新手入门程序界的首选,也逐渐成为了从大厂到小厂,招牌需求list的必要一条. 当然,学Python这件事情,你可能也和文摘菌一样,已经下了一百次 ...

  4. [问题]java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized...

    java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized... 这个问题一般是因为升级MSYQL ...

  5. GitHub 运用实战入门,奶妈级教学

    ## 前言: 我不会用*官方*的语言告诉你Git 是什么,对此我表示深深得歉意--在我看来像CSDN.博客园.掘金等博客交流平台就是小的“GitHub”,只不过在这里更多的是一些零零散散的笔记或者文章 ...

  6. C 神奇项链

    时间限制 : - MS   空间限制 : - KB  评测说明 : 1s,64m 问题描述 母亲节就要到了,小 H 准备送给她一个特殊的项链.这个项链可以看作一个用小写字母组成的字符串,每个小写字母表 ...

  7. B 方块消消乐

    时间限制 : - MS   空间限制 : - KB  评测说明 : 1s,128m 问题描述 何老板在玩一款消消乐游戏,游戏虽然简单,何老板仍旧乐此不疲.游戏一开始有n个边长为1的方块叠成一个高为n的 ...

  8. 牛客寒假基础集训营 | Day1 E-rin和快速迭代(暴力 + 优化)

    E-rin和快速迭代 题目描述 rin最近喜欢上了数论. 然而数论实在太复杂了,她只能研究一些简单的问题. 这天,她在研究正整数因子个数的时候,想到了一个"快速迭代"算法.设 f( ...

  9. 直播回顾 | IOT、AI、云计算等融合技术推进制造业产业转型(二)

    3月31日,BoCloud博云.京东智联云.海尔集团联手,以“制造”到“智造”为主题,进行了IT赋能企业数字化转型实践分享. 博云售前解决方案架构师尹贺杰,京东云与AI企业云业务部高级业务技术经理吴世 ...

  10. Three中的动画实现-[three.js]

    Table Of Content 动画原理 js中动画实现原理setInterval js中动画实现新方法requestAnimationFrame 一个示例 动画原理 动画的本质实际上就是快速地不断 ...