How to build boost iostreams with gzip and bzip2 support on Windows
I am no expert, but this worked for me.
Option 1 (straight from source)
Extract the downloads to directories, move directories to somewhere you like. I had to avoid
C:\Program Files (x86)\
as I couldn't get it to work with spaces in the directory name, so I createdC:\Sys\
and used that.Open a command prompt with elevated privileges (run as administrator), go to your
boost
directory, e.g.C:\Program Files (x86)\boost\boost_1_50_0\
and typeb2.exe --with-iostreams -s BZIP2_SOURCE=C:\Sys\bzip2-1.0.6 -s ZLIB_SOURCE=C:\Sys\zlib-1.2.7
Verify that
C:\Program Files (x86)\boost\boost_1_50_0\stage\lib
contains the wanted files, e.g.libboost_zlib-vc100-*-1_50
andlibboost_bzip2-vc100-*-1_50
.
Option 2 (build from source first)
As above, download the source files.
Open a
Visual Studio Command Prompt
with elevated privileges (run as administrator)Go to
C:\Sys\zlib-1.2.7>
and typenmake -f win32\Makefile.msc
. This will buildzlib
.Go to
C:\Sys\bzip2-1.0.6>
and typenmake -f makefile.msc
. This will buildgzip2
.The command for
boost
now becomesb2.exe --with-iostreams -s BZIP2_BINARY=libbz2 -s BZIP2_INCLUDE=C:/Sys/bzip2-1.0.6 -s BZIP2_LIBPATH=C:/Sys/bzip2-1.0.6 -s ZLIB_BINARY=zlib -s ZLIB_INCLUDE=C:/Sys/zlib-1.2.7 -s ZLIB_LIBPATH=C:/Sys/zlib-1.2.7
Cookie
Updated on June 27, 2022Comments
-
Cookie almost 2 years
How do I build
boost
'siostreams
library withgzip
andbzip2
support? -
Navin over 11 yearsAwesome... Exactly what i was looking for.. Thanks mate
-
Tomáš Zato over 8 yearsThis stinks. If I provide invalid zlib path it still builds. Is there a person that used boost without spending several days struggling with it?
-
codekiddy over 8 yearsif this does not work for you, omit '-s' and instead set environment variable s ie. 'SET ZLIB_INCLUDE="path/to/file' etc... then run b2 that worked for me
-
Kevin Tonon over 6 yearsYou might also need to adjust the toolset and address-model values to match the pre-compiled zlib and bzip2 binaries. See boost.org/build/doc/html/bbv2/reference/…
-
Joshua about 6 yearsI was able to include from a path with a space by using dos 8.3 filename for Program Files: b2.exe --with-iostreams -s ZLIB_SOURCE="C:\Progra~1\boost\zlib-1.2.11" -s NO_BZIP2=1
-
John almost 6 yearsI had to use absolute paths for the source specifiers. Relative paths did not work.
-
Chris almost 6 yearsWhy is there no way to use CFLAGS and LIBS (i.e.,
ZLIB_CFLAGS=$(shell pkg-config --cflags zlib.pc)
)