程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 使用批處理為protocbuffer的輸出c++文件添加預編譯頭

使用批處理為protocbuffer的輸出c++文件添加預編譯頭

編輯:C++入門知識

 

使用ProtocolBuffer的編譯程序protoc可以將.proto生成*.pb.cc的C++代碼文件. 但是在帶有預編譯頭的工程裡, 就經常需要手動添加類似stdafx.h的包含. 這裡使用批處理來完成這一過程:

 

BuildProtoCC.bat

 

@echo off

 

set protofile=%1%.proto

set output_cc=%1%.pb.cc

 

"protoc.exe" %protofile% --cpp_out .

@echo 使用%protofile%生成%output_cc%

 

if exist "pchheader.txt" goto 合並預編譯頭else echo pchheader.txt NOT EXIST

 

:合並預編譯頭

@echo 嘗試刪除以前的中間文件

del *.pched

@echo 合並編譯頭文件pchheader.txt到生成%output_cc%

copy pchheader.txt+"%output_cc%" "%output_cc%.pched" /y

@echo 等待protoc.exe結束

@ping -n 2 127.1>nul

echo 清理文件

del "%output_cc%"

ren "%output_cc%.pched" "%output_cc%"

 

 

 

這段批處理這樣使用:

 

假設你有一個叫login.proto文件和批處理放在一起

 

在同一目錄再放置一個pchheader.txt文件,並在裡面寫入#include "stdafx.h”

 

調用一下批處理

 

call BuildProtoCC.bat login

 

注意login不能帶後綴

 

將使用protoc.exe生成login.pb.cc和login.pb.h 然後使用批處理合並文件功能自動合並預編譯頭

 

摘自:戰魂小築

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved