   Installing boost, and build confusion
  All I really wanted was boost::python, so I could add scripting to my game. Then I figured that, after all I've heard about boost since joining this forum, it was time I got the whole thing installed. And then the trouble started.After reading the docs about getting started with boost for the third time, I'm thoroughly confused. It mostly has to do with my lack of knowledge about how programs are built.I think I've narrowed my concerns here to two questions1. There seems to be a binary installer for boost. Can I just run that, and go? Maybe I'd need to add header and linker paths to my compiler IDE, but I know how to do that.2. Can anyone point me to a resource that will explain the entire build process to me? Or even just search terms to google? I wouldn't even know where to start.Even if I can get away with an installer for boost, I'll need to learn all this stuff someday. Every time I try to install a new library, it's this big trial that I know could be avoided if I really understood how the whole thing worked.   
Quote:Original post by theOcelot1. There seems to be a binary installer for boost. Can I just run that, and go? Pre-built boost for windows (binary compatibility with MSVC 7/8/9). I assume the installer will also setup your paths for you. I've never used it before.Quote:Original post by theOcelot2. Can anyone point me to a resource that will explain the entire build process to me? Or even just search terms to google? I wouldn't even know where to start.Boost: Getting Started. This guide will explain how to build boost on all supported platforms. I've used this guide before, it is very straight forward.   ;  I should have mentioned that I'm using Code::Blocks and GCC, so it seems that the pre-built binaries won't help much.That's the guide I already read 3 times! It's at step 5.2 that it loses me. If it's not a keyboard shortcut in my IDE, I don't know how to do it! See what I mean about my ignorance about the build process?Quote:from Boost's Getting Started on Windows pageIf you're using an earlier version of Visual Studio or some other compiler, or if you prefer to build everything yourself, you can download boost_1_35_0.exe and run it to install a complete Boost distributionSo this is a self-extracting exe with the source and stuff in their appropriate directories?   ;  The guide itself is kinda confusing; but its rather simple to do.First; you want to download the entire boost source, here at sourceforgeThen, you want to get your hands on bjam, the boost building tool, also at sourceforge.Once you have all the files downloaded and everything; you want to make sure that your environment is set up correctly. Ensure that you can invoke minGW from the command line by setting up your Environment Variables correctly. Then; once thats good and done with, you need to drop into the command line. Navigate to your boost directory, and then invoke bjam. The syntax is:bjam --build-dir="YOUR BUILD DIR HERE" --toolset=gcc stageThat should build all of boost.Also; you might want to take a look at Building Boost.Python;Quote: That’s the guide I already read 3 times! It’s at step 5.2 that it loses me. If it’s not a keyboard shortcut in my IDE, I don’t know how to do it!I had to read the guide three times when I first compiled boost, and I knew what I was doing. If you aren’t familiar with anything outside of the IDE, you are going to have a very frustrating time compiling boost.  It may be worth the pain; you’ll be forced to learn a bit about a few things that most experienced programmers know or can handle without a sweat.Just keep asking questions here even for each step you have trouble with.   ;  My experience with the command line extends about as far as ipconfig, ping, and cd :D.Let me see if I have this:1. Download the boost source, and stick it anywhere. At this point I can already use header-only libraries. I just have to tell my compiler to look in the boost header directories.2. Download bjam. This is an independent program, so I can also stick it anywhere, basically (somewhere convenient, C:\Program Files\bjam\ or something). Bjam mostly just calls your chosen compiler.3. Tell bjam to compile all the stuff in the boost directory (is that into .o, files, by the way? Or .a?)Once everything compilable has been compiled, I can just tell my compiler to link against whatever it needs in the boost directory?Please nit-pick every detail of the above description.   ;Quote:Original post by theOcelot1. Download the boost source, and stick it anywhere. At this point I can already use header-only libraries. I just have to tell my compiler to look in the boost header directories.Yep.Quote:2. Download bjam. This is an independent program, so I can also stick it anywhere, basically (somewhere convenient, C:\Program Files\bjam\ or something). Bjam mostly just calls your chosen compiler.Yep, but I'd probably stick it in the same folder as the downloaded boost files, so the system can find it if you just type bjam (otherwise you'd have to enter c:\program files\bjam into your system path, or type the full path when calling bjam)Quote:3. Tell bjam to compile all the stuff in the boost directory (is that into .o, files, by the way? Or .a?)Depends on how you call bjam. Boost can be compiled to both static libraries (.a on *nix, .lib on Windows), and dynamic ones (.so on *nix, .dll on Windows)By default, I believe bjam only builds the dll/.so files. But the guide mentioned above should show the required flags to build the static ones as well. Otherwise calling bjam --help should provide a bit of information.Quote:Once everything compilable has been compiled, I can just tell my compiler to link against whatever it needs in the boost directory?Yep.For some reason, it seems the boost install guide gets less and less informative with each release. A few releases ago, they actually ran you through all the important bjam flags too. Now, it seems, the guide can be boiled down to "either run the prebuilt installer, or work out for yourself which flags bjam accepts, and how they influence the build"Quote:It mostly has to do with my lack of knowledge about how programs are built.Anything more specific? There's probably plenty of people here who can enlighten you a bit. ;  So I'll just do some research on exactly how bjam works, and I'm set? Cool!Just did some research. So bjam sort-of takes the place of a makefile, in managing which files to compile when and how? Everyone says that make is a unix untility, but COde::Blocks generates a makefile. Hmmm... (on Windows)   ;  maybe you should just go download visual c++ express, so you can use the boostpro installer with no more wasted time.   ;  Actually, I tried that. The installation process was confusing, and had a number of issues (it has to download a bunch of stuff during the installer, which, long story short, caused a lot of problems). I decided to stay open-source.   