Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Is anyone using Google Protocol Buffers in a cross-platform project?
Stokestack last edited by
Nobody in the Google forum appears to know or want to answer this, but it's creating major aggravation.
I'm building a cross-platform application that relies on protocol buffers. Therefore, I want to build the protobuf runtime (for C++) as part of the build for each platform and architecture that I'm targeting with my project.
I've tried bringing what appears to be the necessary subset of Google's source into a Qt project (as a subproject) and building it into a lib. It builds, but any attempt to use it results in hundreds of "symbol not found" errors (despite symbols being present in the lib).
I find it perplexing that this isn't a common scenario. Does anyone know how to resolve this problem?
not a solution but i did wonder one thing.
Normally PB builds as a shared library on all supported platforms.
It requires pkg-config --cflags to setup flags to work properly so im not sure
it is remotely possible to grab some of the code and get it to work.
Why not use the included setup info to build as intended on each on your platform and simply link
to the dll/so files in Qt ?
I dont think you can build it with qmake alone.
So integrating building it in the same project is most likely not possible.
Stokestack last edited by Stokestack
Thanks for your reply.
As far as I know, I can't build on each platform individually because I don't have them accessible. There are at least three flavors of Android for various processor types, then Mac OS, Windows, and iOS.
iOS is an example of the problem: I can't really shell into an iOS environment and install all these tools and build there.
Does that answer this question of yours: "Why not use the included setup info to build as intended on each on your platform"?
yes it answers it fine. I see your predicament.
I wish you good luck.
maxwell31 last edited by
We do using cmake. Do you use cmake?