码迷,mamicode.com
首页 > 编程语言 > 详细

windows批处理protoc生成C++代码

时间:2019-10-09 21:15:27      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:查找   exe   window   要求   作用   protoc   generate   一个   cmake   

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++代码

标签:查找   exe   window   要求   作用   protoc   generate   一个   cmake   

原文地址:https://www.cnblogs.com/IGNB/p/11644266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!