|
|
|
@ -1,14 +1,17 @@ |
|
|
|
|
Protocol Buffers - Google's data interchange format |
|
|
|
|
=================================================== |
|
|
|
|
|
|
|
|
|
Copyright 2008 Google Inc. |
|
|
|
|
|
|
|
|
|
https://developers.google.com/protocol-buffers/ |
|
|
|
|
|
|
|
|
|
C++ Installation - Unix |
|
|
|
|
======================= |
|
|
|
|
----------------------- |
|
|
|
|
|
|
|
|
|
If you get the source from github, you need to generate the configure script |
|
|
|
|
first: |
|
|
|
|
|
|
|
|
|
$ ./autogen.sh |
|
|
|
|
$ ./autogen.sh |
|
|
|
|
|
|
|
|
|
This will download gtest source (which is used for C++ Protocol Buffer |
|
|
|
|
unit-tests) to the current directory and run automake, autoconf, etc. |
|
|
|
@ -20,10 +23,10 @@ contains gtest and the configure script). |
|
|
|
|
To build and install the C++ Protocol Buffer runtime and the Protocol |
|
|
|
|
Buffer compiler (protoc) execute the following: |
|
|
|
|
|
|
|
|
|
$ ./configure |
|
|
|
|
$ make |
|
|
|
|
$ make check |
|
|
|
|
$ make install |
|
|
|
|
$ ./configure |
|
|
|
|
$ make |
|
|
|
|
$ make check |
|
|
|
|
$ make install |
|
|
|
|
|
|
|
|
|
If "make check" fails, you can still install, but it is likely that |
|
|
|
|
some features of this library will not work correctly on your system. |
|
|
|
@ -33,7 +36,7 @@ Proceed at your own risk. |
|
|
|
|
|
|
|
|
|
For advanced usage information on configure and make, see INSTALL.txt. |
|
|
|
|
|
|
|
|
|
** Hint on install location ** |
|
|
|
|
**Hint on install location** |
|
|
|
|
|
|
|
|
|
By default, the package will be installed to /usr/local. However, |
|
|
|
|
on many platforms, /usr/local/lib is not part of LD_LIBRARY_PATH. |
|
|
|
@ -45,7 +48,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
|
|
|
|
If you already built the package with a different prefix, make sure |
|
|
|
|
to run "make clean" before building again. |
|
|
|
|
|
|
|
|
|
** Compiling dependent packages ** |
|
|
|
|
**Compiling dependent packages** |
|
|
|
|
|
|
|
|
|
To compile a package that uses Protocol Buffers, you need to pass |
|
|
|
|
various flags to your compiler and linker. As of version 2.2.0, |
|
|
|
@ -83,7 +86,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
|
|
|
|
If you only want protobuf-lite, substitute "protobuf-lite" in place |
|
|
|
|
of "protobuf" in these examples. |
|
|
|
|
|
|
|
|
|
** Note for cross-compiling ** |
|
|
|
|
**Note for cross-compiling** |
|
|
|
|
|
|
|
|
|
The makefiles normally invoke the protoc executable that they just |
|
|
|
|
built in order to build tests. When cross-compiling, the protoc |
|
|
|
@ -106,7 +109,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
|
|
|
|
has the same version as the protobuf source code you are trying to |
|
|
|
|
use it with. |
|
|
|
|
|
|
|
|
|
** Note for Solaris users ** |
|
|
|
|
**Note for Solaris users** |
|
|
|
|
|
|
|
|
|
Solaris 10 x86 has a bug that will make linking fail, complaining |
|
|
|
|
about libstdc++.la being invalid. We have included a work-around |
|
|
|
@ -116,7 +119,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
|
|
|
|
|
|
|
|
|
See src/solaris/libstdc++.la for more info on this bug. |
|
|
|
|
|
|
|
|
|
** Note for HP C++ Tru64 users ** |
|
|
|
|
**Note for HP C++ Tru64 users** |
|
|
|
|
|
|
|
|
|
To compile invoke configure as follows: |
|
|
|
|
|
|
|
|
@ -125,7 +128,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
|
|
|
|
Also, you will need to use gmake instead of make. |
|
|
|
|
|
|
|
|
|
C++ Installation - Windows |
|
|
|
|
========================== |
|
|
|
|
-------------------------- |
|
|
|
|
|
|
|
|
|
If you are using Microsoft Visual C++, see vsprojects/readme.txt. |
|
|
|
|
|
|
|
|
@ -133,7 +136,7 @@ If you are using Cygwin or MinGW, follow the Unix installation |
|
|
|
|
instructions, above. |
|
|
|
|
|
|
|
|
|
Binary Compatibility Warning |
|
|
|
|
============================ |
|
|
|
|
---------------------------- |
|
|
|
|
|
|
|
|
|
Due to the nature of C++, it is unlikely that any two versions of the |
|
|
|
|
Protocol Buffers C++ runtime libraries will have compatible ABIs. |
|
|
|
@ -144,10 +147,10 @@ immediately on startup of your app. Still, you may want to consider |
|
|
|
|
using static linkage. You can configure this package to install |
|
|
|
|
static libraries only using: |
|
|
|
|
|
|
|
|
|
./configure --disable-shared |
|
|
|
|
./configure --disable-shared |
|
|
|
|
|
|
|
|
|
Java and Python Installation |
|
|
|
|
============================ |
|
|
|
|
---------------------------- |
|
|
|
|
|
|
|
|
|
The Java and Python runtime libraries for Protocol Buffers are located |
|
|
|
|
in the java and python directories. See the README file in each |
|
|
|
@ -156,9 +159,9 @@ Note that both of them require you to first install the Protocol |
|
|
|
|
Buffer compiler (protoc), which is part of the C++ package. |
|
|
|
|
|
|
|
|
|
Usage |
|
|
|
|
===== |
|
|
|
|
----- |
|
|
|
|
|
|
|
|
|
The complete documentation for Protocol Buffers is available via the |
|
|
|
|
web at: |
|
|
|
|
|
|
|
|
|
https://developers.google.com/protocol-buffers/ |
|
|
|
|
https://developers.google.com/protocol-buffers/ |