Which boost libraries need libs?
Can anybody tell me, which of the Boost libraries need libs (usually created with bjam)? As far as I can see, for most of the Boost libraries source code #includes are sufficient. For them, installation step 1 from the "Getting Started"-page is sufficient. Or do I get something wrong? Richard
On 9/26/05, Richard Kaiser
Can anybody tell me, which of the Boost libraries need libs (usually created with bjam)?
As far as I can see, for most of the Boost libraries source code #includes are sufficient. For them, installation step 1 from the "Getting Started"-page is sufficient. Or do I get something wrong?
If you build the whole shebang from scratch you can see which libraries need libs and which don't. In addition, you can look at this file list here: http://archlinux.org/packages.php?op=files&id=5997 The /usr/lib entries will have all the libs with a standard boost build.... I did the hard work for you... the following libraries require .so/.a libraries: boost_date_time boost_filesystem boost_iostreams boost_prg_exec_monitor boost_program_options boost_python boost_regex boost_serialization boost_signals boost_test_exec_monitor boost_thread boost_unit_test_framework boost_wave boost_wserialization
Aaron, thanks for your information. Until yesterday, I have seen this
the same way as you said. But then I succeeded to compile the unittest
examples (those that are installed with boost)
g++ -Ic:\boost\boost_1_33_0 unit_test_example1.cpp
without any link library.
I had modify this example a little, since without "#define geaendert_RK"
it did not compile - neither with nor without libs.
// (C) Copyright Gennadiy Rozental 2002-2005.
// (C) Copyright Gennadiy Rozental & Ullrich Koethe 2001.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/test for the library home page.
// Boost.Test
#include
On 9/26/05, Richard Kaiser
wrote: Can anybody tell me, which of the Boost libraries need libs (usually created with bjam)?
As far as I can see, for most of the Boost libraries source code #includes are sufficient. For them, installation step 1 from the "Getting Started"-page is sufficient. Or do I get something wrong?
If you build the whole shebang from scratch you can see which libraries need libs and which don't.
In addition, you can look at this file list here: http://archlinux.org/packages.php?op=files&id=5997
The /usr/lib entries will have all the libs with a standard boost build.... I did the hard work for you... the following libraries require .so/.a libraries: boost_date_time boost_filesystem boost_iostreams boost_prg_exec_monitor boost_program_options boost_python boost_regex boost_serialization boost_signals boost_test_exec_monitor boost_thread boost_unit_test_framework boost_wave boost_wserialization
I had modify this example a little, since without "#define geaendert_RK" it did not compile - neither with nor without libs.
It should.
#include
#define geaendert_RK // required to compile with g++, BCB6 - RK #ifndef geaendert_RK using boost::unit_test::test_suite;//Unresolved external '_main' - RK #else #include
using namespace boost::unit_test_framework; #endif Why does this compile without any libs?
With the define, it #includes the full source of the library via
On 9/26/05, Richard Kaiser
g++ -Ic:\boost\boost_1_33_0 unit_test_example1.cpp
That should probably be something like: g++ -Lc:\boost\boost_1_33_0 -lboost_unit_test_framework unit_test_example1.cpp
Aaron Griffin schrieb:
On 9/26/05, Richard Kaiser
wrote: Can anybody tell me, which of the Boost libraries need libs (usually created with bjam)?
As far as I can see, for most of the Boost libraries source code #includes are sufficient. For them, installation step 1 from the "Getting Started"-page is sufficient. Or do I get something wrong?
If you build the whole shebang from scratch you can see which libraries need libs and which don't.
In addition, you can look at this file list here: http://archlinux.org/packages.php?op=files&id=5997
The /usr/lib entries will have all the libs with a standard boost build.... I did the hard work for you... the following libraries require .so/.a libraries: boost_date_time boost_filesystem boost_iostreams boost_prg_exec_monitor boost_program_options boost_python boost_regex boost_serialization boost_signals boost_test_exec_monitor boost_thread boost_unit_test_framework boost_wave boost_wserialization
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Thanks, John and Aaron. In the meantime everything works and I have written a little installation guide. If you find any mistakes or improvements, please let me know. Richard Kaiser 1.1 Installing the Boost Libraries in Windows Since the installation of the Boost library is not that trivial, we present it for boost version 1.33. For more detailed information, consult the installation instructions from www.boost.org. a) Download the current Boost version from http://www.boost.org For the rest of this section we assume, that boost_1_33_0.zip (version 1.33.0) was unzipped into the directory c:\boost Since the installation routine from b) requires and creates the directory c:\boost, it is recommended to use exactly this name and no other one, although this is also possible. Unzipping creates the directory c:\boost\boost_1_33_0 Enter this directory in C++Builder under Project|Options|C++Compiler/¬Paths and Defines|Include search path. b) The installation steps from a) are sufficient for most Boost libraries, but not for all. This second part b) is more time consuming. b1) Download boost-jam. For Boost version 1.33 this is boost-jam-3.1.11-1-ntx86.zip. Follow the link on the “Getting Started” page (or the like). Unzip bjam.exe into the directory c:\boost\boost_1_33_0 b2) Start a Microsoft Command Processor cmd.exe (Start|Programs|¬Accesso¬ries|¬Command Prompt, using 4DOS or Take Command will not work). If there is no path set to your compilers bin directory, set one with a statement like PATH=%PATH%;c:\CBuilder\bin or PATH=%PATH%;c:\MinGW\bin b3) Under cmd.exe, in the directory c:\boost\boost_1_33_0, execute bjam "-sTOOLS=borland" install or bjam "-sTOOLS=mingw" install On my 1.7 GHz machine this took about 2 (BCB6) or 6 hours (MinGW). It creates the directory c:\boost\lib with about 200 MB (BCB6) or 1600 MB (MinGW) lib- and dll libraries. The names of these libraries are composed from the libraries to which they belong, the compiler (e.g. “bcb” for Borland C++Builder) and further symbols like “mt” for multithread, “s” for static and “d” for debug libraries. In addition, bjam creates the directory c:\boost\include. It contains essentially the same files as c:\boost\boost_1_31_0\include. To use the Boost libraries with Borland C++Builder 6, enter the library to your project by using Project|Add to Project. To use the Boost libraries with MinGW GNU C++, enter e.g. g++ -Ic:\boost\boost_1_33_0 -Lc:\boost\lib -llibboost_unit_test_framework-mgw-sd unit_test_example1.cpp Note: Do not enter a .lib extension for the lib file although this lib file has such an extension.
Sorry, my last post lost formatting. Pleast take a look at http://free.rkaiser.de/InstallingTheBoostLibraries.htm It contains the same text in a format easier to read. Richard Kaiser
IMHO as a complete newcomer to Boost I was also keen to find out this
information. If, like me, you are having trouble building the libraries,
it's good to know that there is still a lot of very useful stuff in the
headers alone.
A note in the "Getting Started" section listing the libraries that need
building, and saying that everthing else only requires the appropriate
headers to be included might help encourage in a few extra users to put a
toe in the water.
Regards
Jim Douglas
"Aaron Griffin"
On 9/26/05, Richard Kaiser
wrote: Can anybody tell me, which of the Boost libraries need libs (usually created with bjam)?
As far as I can see, for most of the Boost libraries source code #includes are sufficient. For them, installation step 1 from the "Getting Started"-page is sufficient. Or do I get something wrong?
If you build the whole shebang from scratch you can see which libraries need libs and which don't.
In addition, you can look at this file list here: http://archlinux.org/packages.php?op=files&id=5997
The /usr/lib entries will have all the libs with a standard boost build.... I did the hard work for you... the following libraries require .so/.a libraries: boost_date_time boost_filesystem boost_iostreams boost_prg_exec_monitor boost_program_options boost_python boost_regex boost_serialization boost_signals boost_test_exec_monitor boost_thread boost_unit_test_framework boost_wave boost_wserialization
participants (4)
-
Aaron Griffin
-
Jim Douglas
-
John Maddock
-
Richard Kaiser