Difference between revisions of "Compiling libprotobuf"
(Created page with "Examples for compiling a 32-bit libprotobuf and other protobuf libraries using the protobuf-2.3.0 source. ==Windows== The following was tested on Windows 7 with Visual Studi...") |
(Added -NDEBUG for builds where CXXFLAGS gets overridden.) |
||
Line 37: | Line 37: | ||
tar -xvzf protobuf-2.3.0.tar.gz | tar -xvzf protobuf-2.3.0.tar.gz | ||
cd protobuf-2.3.0 | cd protobuf-2.3.0 | ||
− | ./configure --build=i686-pc-linux-gnu CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 | + | ./configure --build=i686-pc-linux-gnu CFLAGS="-m32 -DNDEBUG" CXXFLAGS="-m32 -DNDEBUG" LDFLAGS=-m32 |
make | make | ||
</pre> | </pre> | ||
Line 51: | Line 51: | ||
tar -xvzf protobuf-2.3.0.tar.gz | tar -xvzf protobuf-2.3.0.tar.gz | ||
cd protobuf-2.3.0 | cd protobuf-2.3.0 | ||
− | ./configure --build=x86-apple-darwin ABI=standard CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 | + | ./configure --build=x86-apple-darwin ABI=standard CFLAGS="-DNDEBUG -m32" CXXFLAGS="-m32 -DNDEBUG" LDFLAGS=-m32 |
make | make | ||
</pre> | </pre> | ||
The library will be in src/.libs/ | The library will be in src/.libs/ |
Revision as of 11:38, 10 February 2013
Examples for compiling a 32-bit libprotobuf and other protobuf libraries using the protobuf-2.3.0 source.
Windows
The following was tested on Windows 7 with Visual Studio 2010. Not all projects built after conversion, but only libprotobuf and dependencies were necessary.
- Download protobuf-2.3.0.zip from https://code.google.com/p/protobuf/downloads/list
- Extract and navigate to protobuf-2.3.0/vsprojects/
- Open protobuf.sln in the version of Visual Studio corresponding with the VC abi version that you wish to compile for.
- Walk through project conversion steps if necessary.
- Right-click the libprotobuf project and choose properties.
- In Configuration Properties > C/C++ -> Code Generation, set Runtime Library to /MT for Release or /MTd for Debug.
- Right-click the libprotobuf project and choose Build.
libprotobuf.lib will be in Release/ or Debug/, depending on build configuration.
Linux (32-bit host)
The following was tested on Debian 6 (Lenny) 32-bit.
wget https://protobuf.googlecode.com/files/protobuf-2.3.0.tar.gz tar -xvzf protobuf-2.3.0.tar.gz cd protobuf-2.3.0 ./configure make
The library will be in src/.libs/
Linux (64-bit host)
This hasn't been tested, but should work on most or all 64-bit distributions.
wget https://protobuf.googlecode.com/files/protobuf-2.3.0.tar.gz tar -xvzf protobuf-2.3.0.tar.gz cd protobuf-2.3.0 ./configure --build=i686-pc-linux-gnu CFLAGS="-m32 -DNDEBUG" CXXFLAGS="-m32 -DNDEBUG" LDFLAGS=-m32 make
The library will be in src/.libs/
Mac
The following was tested on OS X 10.7 (Lion) and ensures that the outputted binaries are 32-bit.
wget https://protobuf.googlecode.com/files/protobuf-2.3.0.tar.gz tar -xvzf protobuf-2.3.0.tar.gz cd protobuf-2.3.0 ./configure --build=x86-apple-darwin ABI=standard CFLAGS="-DNDEBUG -m32" CXXFLAGS="-m32 -DNDEBUG" LDFLAGS=-m32 make
The library will be in src/.libs/