Skip to main content
gamedev.net
🔒 Locked

Boost's static libs - libboost-*

Started by okonomiyaki Sep 27, 2006 at 12:49 PM 4 replies 6.3k views
Original Post
okonomiyaki
okonomiyaki
I was testing a technique with multithreading using Boost.Thread, and when I went to compile, I got this error:

LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc80-mt-gd-1_33_1.lib'

I then found out that there are some static lib's I need to link with when using some of Boost's libraries. I've done a lot of looking and it seems like the only way to get these libraries is to setup the whole Boost.Build environment and build them, or set up my own VS2005 project. Why can't I just download these libs? I can't find much on this matter and I'm wondering if someone could explain this to me. Why does it need these static libraries in the first place, and where can I get them without building them?
Enigma
Enigma
There are more compilers than just Visual C++. Boost works on a lot of different compilers and providing built libraries in all their variants would require a prohibitively large amount of space and bandwidth (my boost lib folder with boost built for I think three compilers plus a bit is 2.7Gb for example). Boost.Build really is a quick and painless process (at least it was for me). Just follow the instructions.

As to why some libraries need to be built: if a library needs some kind of global state then it cannot be provided purely as headers. There may also be other reasons why the developers of various Boost libraries felt they needed to be built as static libs.

Σnigma
okonomiyaki
okonomiyaki
Quote:
Original post by Enigma
There are more compilers than just Visual C++. Boost works on a lot of different compilers and providing built libraries in all their variants would require a prohibitively large amount of space and bandwidth (my boost lib folder with boost built for I think three compilers plus a bit is 2.7Gb for example). Boost.Build really is a quick and painless process (at least it was for me). Just follow the instructions.

As to why some libraries need to be built: if a library needs some kind of global state then it cannot be provided purely as headers. There may also be other reasons why the developers of various Boost libraries felt they needed to be built as static libs.

Σnigma


Thanks. I mainly wanted to make sure I wasn't being stupid and missing some easy download somewhere. I'll setup Boost.Build then, and I understand the rational behind it. I'm just a little surprised someone hasn't hosted the lib files for windows, but maybe that's an indication of how easy Boost.Build is :)
MENTAL
MENTAL
Not only that, but you can pick and choose which boost libs you want to include with Boost.Build. It really is much easier just to build your own than try and find a download with exactly the correct compiler and lib combo :)
okonomiyaki
okonomiyaki
Quote:
Original post by MENTAL
Not only that, but you can pick and choose which boost libs you want to include with Boost.Build. It really is much easier just to build your own than try and find a download with exactly the correct compiler and lib combo :)


I understand the options, but when I'm using a popular compiler and I don't have time to learn a whole new build system, I really just wanted to download the libs. I just spent 2 hours figuring out Boost.Build because it didn't work out of the box; I never got it to work, something about missing paths. I'm using MSVC++ 2005 Express, and I did everything to add the PlatformSDK paths, but I was still getting "missing mspdb80.dll" when trying to compile with bjam. Who knows :)

Thank you so much Dr. Evil, that's exactly what I was looking for. If only I found that a couple hours ago!

Edit: Actually, I lied. I got it to work pretty easily with Visual Studio 7.1, but I couldn't get it for the life of me to compile 8.0 libs. I'm sure it was something with the paths, but anyway, I just don't have time to figure all this out when all I can do is download the 8.0 libs.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.