My experience is that the protobuf libraries don't support cross-
compilation well.
We've been using an ARM, with an Intel build machine. We haven't
figured out (quite) the right way for "protoc" to be built for the
Intel machine, whereas the libraries etc. need to be built for the
ARM.
This is all under Linux.
Our builds fail because protoc is compiled for the target, but it is
run on the build machine.
What we tend to do is install the Intel version (e.g. /usr/local/bin/
protoc), re-configure for cross-compiling. Make. Wait for make to
break. Move the ./src/protoc to ./src/protoc.cross. Copy /usr/local/
bin/protoc to ./src/protoc. Make again. Copy ./src/protoc.cross back
to ./src/protoc. Then make install.
As for configure, we use:
./configure --host=arm-linux--prefix=/srv/rootfs/usr/local/
where the gcc compiler is arm-linux-gcc.
HTH,
Peter K.