Boost C++ Logo


Installation and compatibility

Supported compilers and platforms
Configuring and building the library

The library should build and work with a reasonably compliant compiler. The library was successfully built and tested on the following platforms:

  • Windows XP, Windows Vista, Windows 7. MSVC 9.0 and newer.
  • Linux. GCC 4.5 and newer. Older versions may work too, but it was not tested.
  • Linux. Intel C++ Build 20130121.
  • Linux. Clang 3.2.

The following compilers/platforms are not supported and will likely fail to compile the library:

  • C++11 compilers with non-C++11 standard libraries (like Clang with libstdc++ from GCC 4.2). Please, use a C++11 standard library in C++11 mode.
  • MSVC 8.0 and older.
  • GCC 4.0 and older.
  • Borland C++ 5.5.1 (free version). Newer versions might or might not work.
  • Windows 9x, ME, NT4 and older are not supported.
Notes for MinGW, Cygwin and Visual Studio Express Edition users

In order to compile the library under these compilers special preparations are needed. First, in case of MinGW or Cygwin make sure you have installed the latest GCC version. The library will most likely fail to compile with GCC 3.x.

Second, at some point the library will require a Message Compiler tool (mc.exe), which is not available in MinGW, Cygwin and MSVC Express Edition. You have three options to settle the problem. The recommended solution is to obtain the original mc.exe. This tool is available in Windows SDK, which can be downloaded from the Microsoft site freely (for example, here). Also, this tool should be available in Visual Studio 2010 Express Edition. During the compilation, mc.exe should be accessible through one of the directories in your PATH environment variable.

Another way is to attempt to use the windmc.exe tool distributed with MinGW and Cygwin, which is the analogue of the original mc.exe. In order to do that you will have to patch Boost.Build files (in particular, the tools/build/v2/tools/mc.jam file) as described in this ticket. After that you will be able to specify the mc-compiler=windmc option to bjam to build the library.

Lastly, you can disable support for event log backend by defining the BOOST_LOG_WITHOUT_EVENT_LOG configuration macro when building the library. This will remove the need for the message compiler. See this section for more configuration options.

Additional notes for Cygwin users

Cygwin support is rather preliminary. Some functionality is not available. In particular, the socket-based syslog backend is not supported, as it is based on Boost.ASIO, which doesn't compile on this platform. However, the native syslog support is still in place.

Furthermore, in order to compile the library the following parameters should be explicitly specified in the bjam command line: target-os=cygwin logapi=unix.