当前位置:编程学习 > C/C++ >>

使用批处理为protocbuffer的输出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 然后使用批处理合并文件功能自动合并预编译头

 

摘自:战魂小筑

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,