|
@@ -40,20 +40,22 @@ You can also get the source by "git clone" our git repository. Make sure you
|
|
|
have also cloned the submodules and generated the configure script (skip this
|
|
|
if you are using a release .tar.gz or .zip package):
|
|
|
|
|
|
- $ git clone https://github.com/protocolbuffers/protobuf.git
|
|
|
- $ cd protobuf
|
|
|
- $ git submodule update --init --recursive
|
|
|
- $ ./autogen.sh
|
|
|
-
|
|
|
+```shell
|
|
|
+ git clone https://github.com/protocolbuffers/protobuf.git
|
|
|
+ cd protobuf
|
|
|
+ git submodule update --init --recursive
|
|
|
+ ./autogen.sh
|
|
|
+```
|
|
|
To build and install the C++ Protocol Buffer runtime and the Protocol
|
|
|
Buffer compiler (protoc) execute the following:
|
|
|
|
|
|
- $ ./configure
|
|
|
- $ make
|
|
|
- $ make check
|
|
|
- $ sudo make install
|
|
|
- $ sudo ldconfig # refresh shared library cache.
|
|
|
-
|
|
|
+```shell
|
|
|
+ ./configure
|
|
|
+ make
|
|
|
+ make check
|
|
|
+ sudo make install
|
|
|
+ sudo ldconfig # refresh shared library cache.
|
|
|
+```
|
|
|
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.
|
|
|
Proceed at your own risk.
|
|
@@ -83,10 +85,12 @@ Protocol Buffers integrates with pkg-config to manage this. If you
|
|
|
have pkg-config installed, then you can invoke it to get a list of
|
|
|
flags like so:
|
|
|
|
|
|
+
|
|
|
pkg-config --cflags protobuf # print compiler flags
|
|
|
pkg-config --libs protobuf # print linker flags
|
|
|
pkg-config --cflags --libs protobuf # print both
|
|
|
|
|
|
+
|
|
|
For example:
|
|
|
|
|
|
c++ my_program.cc my_proto.pb.cc `pkg-config --cflags --libs protobuf`
|
|
@@ -97,6 +101,7 @@ not pass the correct set of flags to correctly link against
|
|
|
libprotobuf. If the package in question uses autoconf, you can
|
|
|
often fix the problem by invoking its configure script like:
|
|
|
|
|
|
+
|
|
|
configure CXXFLAGS="$(pkg-config --cflags protobuf)" \
|
|
|
LIBS="$(pkg-config --libs protobuf)"
|
|
|
|
|
@@ -118,15 +123,15 @@ of "protobuf" in these examples.
|
|
|
For a Mac system, Unix tools are not available by default. You will first need
|
|
|
to install Xcode from the Mac AppStore and then run the following command from
|
|
|
a terminal:
|
|
|
-
|
|
|
- $ sudo xcode-select --install
|
|
|
-
|
|
|
+```shell
|
|
|
+ sudo xcode-select --install
|
|
|
+```shell
|
|
|
To install Unix tools, you can install "port" following the instructions at
|
|
|
https://www.macports.org . This will reside in /opt/local/bin/port for most
|
|
|
Mac installations.
|
|
|
-
|
|
|
- $ sudo /opt/local/bin/port install autoconf automake libtool
|
|
|
-
|
|
|
+```shell
|
|
|
+ sudo /opt/local/bin/port install autoconf automake libtool
|
|
|
+```
|
|
|
Then follow the Unix instructions above.
|
|
|
|
|
|
**Note for cross-compiling**
|