blob: 8e9dd06781883e72b20fc49fed367bbcf1c856bb [file] [log] [blame]
temporal40ee5512008-07-10 02:12:20 +00001Protocol Buffers - Google's data interchange format
2Copyright 2008 Google Inc.
3http://code.google.com/apis/protocolbuffers/
4
temporalcc930432008-07-21 20:28:30 +00005C++ Installation - Unix
6=======================
temporal40ee5512008-07-10 02:12:20 +00007
8To build and install the C++ Protocol Buffer runtime and the Protocol
9Buffer compiler (protoc) execute the following:
10
11 $ ./configure
12 $ make
13 $ make check
14 $ make install
15
16If "make check" fails, you can still install, but it is likely that
17some features of this library will not work correctly on your system.
18Proceed at your own risk.
19
20"make install" may require superuser privileges.
21
temporalcc930432008-07-21 20:28:30 +000022For advanced usage information on configure and make, see INSTALL.txt.
23
24** Hint on insall location **
25
26 By default, the package will be installed to /usr/local. However,
27 on many platforms, /usr/local/lib is not part of LD_LIBRARY_PATH.
28 You can add it, but it may be easier to just install to /usr
29 instead. To do this, invoke configure as follows:
30
31 ./configure --prefix=/usr
32
33 If you already built the package with a different prefix, make sure
34 to run "make clean" before building again.
temporal40ee5512008-07-10 02:12:20 +000035
36** Note for Solaris users **
37
38 Solaris 10 x86 has a bug that will make linking fail, complaining
39 about libstdc++.la being invalid. We have included a work-around
40 in this package. To use the work-around, run configure as follows:
41
42 ./configure LDFLAGS=-L$PWD/src/solaris
43
44 See src/solaris/libstdc++.la for more info on this bug.
45
temporalcc930432008-07-21 20:28:30 +000046C++ Installation - Windows
47==========================
48
49If you are using Micosoft Visual C++, see vsprojects/readme.txt.
50
51If you are using Cygwin or MinGW, follow the Unix installation
52instructions, above.
53
temporal742e4092008-08-27 19:25:48 +000054Binary Compatibility Warning
55============================
56
57Due to the nature of C++, it is unlikely that any two versions of the
58Protocol Buffers C++ runtime libraries will have compatible ABIs.
59That is, if you linked an executable against an older version of
60libprotobuf, it is unlikely to work with a newer version without
61re-compiling. This problem, when it occurs, will normally be detected
62immediately on startup of your app. Still, you may want to consider
63using static linkage. You can configure this package to install
64static libraries only using:
65
66 ./configure --disable-shared
67
temporal40ee5512008-07-10 02:12:20 +000068Java and Python Installation
69============================
70
71The Java and Python runtime libraries for Protocol Buffers are located
72in the java and python directories. See the README file in each
73directory for more information on how to compile and install them.
74Note that both of them require you to first install the Protocol
75Buffer compiler (protoc), which is part of the C++ package.
76
77Usage
78=====
79
80The complete documentation for Protocol Buffers is available via the
81web at:
82
83 http://code.google.com/apis/protocolbuffers/