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的批處理代碼來源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM