I think you should separate all proto files and build them into a library
(libProto.so). Let both libServer.so and libClient.so link to the same
libProto.so

On Tue, Jun 21, 2016 at 10:53 AM Steve Beckert <s.w.beck...@gmail.com>
wrote:

> system
> 1 process, 2 components - Client and Server, written in cpp
> Client and Server each use Model.proto but different versions
>
> build
> Server generates and builds its own .h and .cc proto files and compiles
> them into libServer.so
> Client also generate and builds its own proto files and compiles them into
> libClientProto.so
> The remaining Client functionality which uses proto is compiled into
> libClient.so
> Client links to libServer.so and libClientProto.so
>
> Even when the communication between Client and Server is with serialized
> proto, I am seeing crashes in libClient.so because it was built against
> Client's version of proto but runs against Server's version, since an
> implementation of the proto.h is supplied by both libClientProto.so and
> libServer.so
> I realize the safest way would be for Client's USE of proto be in the same
> library as the compiled proto rather than rely on run-time linking.
>
> How do I ensure the functionality in libClient.so, which was built against
> version 1 of Model.proto, runs against libClientProto.so rather than
> libServer.so which uses version 2 of Model.proto?
> How can I best prevent some new component Client2 from making the same
> mistake?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to protobuf+unsubscr...@googlegroups.com.
> To post to this group, send email to protobuf@googlegroups.com.
> Visit this group at https://groups.google.com/group/protobuf.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to