protobuf编译输出的cc文件和h头文件如何能分成不同目录?

fibbery 2018-06-05 02:36:38
由于项目是以库的方式提供给其他项目组使用,在protoc编译.proto文件时,我想把头文件单独分离出来,这样可以cc文件可以打包之后以so或者a文件提供,h文件则以include方式提供其他项目引用。
在protoc编译选项中我没试出来。

这个需求能否实现?

不太想直接去修改源代码,这样每次protoc编译后都要去修改,麻烦。

先谢谢各位!
...全文
1503 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-06-06
  • 打赏
  • 举报
回复
楼主不会bash或bat吗?
fibbery 2018-06-06
  • 打赏
  • 举报
回复
引用 3 楼 zilaishuichina 的回复:
没明白lz的需求, protoc 处理.proto文件, 生成 .h 和 .cc, 然后.cc文件 lz会编译生成库文件, 然后你提供给别人用, 你就只提供 .h 和 编译好的库文件就好了, 不提供.cc不就可以了么, 这跟头文件是否分离出来有什么关系呢?
引用 4 楼 zilaishuichina 的回复:
莫非lz想要的是

protoc --cpp_out=./include/ test.proto
rm -rf ./include/*.cc
protoc --cpp_out=./src/ test.proto
rm -rf ./src/*.h
然后include下面只有头文件,src下面只有cc文件。。。。。
是的,我是想偷个懒:),因为我在构建项目时,cpp和h文件就是分开的,所以,发布的时候,我直接把头文件的目录结构发布就可以了,否则,发布的时候我就需要把cpp和h文件分离一下。
zilaishuichina 2018-06-05
  • 打赏
  • 举报
回复
莫非lz想要的是

protoc --cpp_out=./include/ test.proto
rm -rf ./include/*.cc
protoc --cpp_out=./src/ test.proto
rm -rf ./src/*.h
然后include下面只有头文件,src下面只有cc文件。。。。。
zilaishuichina 2018-06-05
  • 打赏
  • 举报
回复
没明白lz的需求, protoc 处理.proto文件, 生成 .h 和 .cc, 然后.cc文件 lz会编译生成库文件, 然后你提供给别人用, 你就只提供 .h 和 编译好的库文件就好了, 不提供.cc不就可以了么, 这跟头文件是否分离出来有什么关系呢?
fibbery 2018-06-05
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
提醒:protobuf,gcc,g++都是开源的。
没理解上去
赵4老师 2018-06-05
  • 打赏
  • 举报
回复
提醒:protobuf,gcc,g++都是开源的。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧