protobuf提供了在输出的文件中添加导出宏的方法:
.\protoc.exe .\Device.proto --cpp_out=dllexport_decl=MY_EXPORT:.\
但是很多情况下,这个这个宏都是定义在一个头文件中的,而protobuf并没有提供一个可以在输出的头文件中包含另外的头文件的方法。
所以我对protobuf的源码进行了修改,为cpp_out参数添加了includes选项来实现该功能
--cpp_out=includes=<my1.h>=my2.h,dllexport_decl=MY_EXPORT:.\