LNK1104: cannot open file 'libboost_filesystem-vc80-mt-gd-1_33_1.lib'

Started by
14 comments, last by T1Oracle 16 years, 10 months ago
I'm trying to create a simple template function that takes an output iterator, a predicate, and a directory path, and puts a std::string into the output iterator for each file in the directory matching the predicate. I have never used boost filesystem before and now that I have finally gotten around to trying it, it will not compile. All I get is: LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc80-mt-gd-1_33_1.lib' I have tried the "opendir" method and that would not compile in MSVC .Net 2005 Express Edition (using Windows XP Pro) either. I do like the idea of "portable" code and I don't want to use the Win32 stuff unless I have to. I don't remember how I installed boost as it was over a year ago and I was overseas for the past year. Any help will be greatly appreciated.
Programming since 1995.
Advertisement
First two things that come to mind...

Did you build boost 1_33_1? I think that's the latest normal release (December)... someone correct me if I'm wrong. It should copy all those libraries to a directory somewhere... like C:\Boost\lib.

If you have the library file, are your paths in VC++ set up to find it?
Tools/Options/Projects and Solutions/VC++ Directories.

If those two things are hunky dorey... I'm not sure what the problem could be. I believe the .libs are linked in automatically with a #pragma.
my_life:          nop          jmp my_life
[ Keep track of your TDD cycle using "The Death Star" ] [ Verge Video Editor Support Forums ] [ Principles of Verg-o-nomics ] [ "t00t-orials" ]
I have a boost_1_33_1 directory, but it doesn't appear to have any lib files.

Boost filesystem is the only part of Boost that I haven't been able to use thus far. I currently have all of the smart_pointers working as they should. I also have MSVC .Net 2003 but I don't think should interfere.

I did just download boost 1.34, maybe if I install that it would work. I may try that later, although I'd rather just get what I have working. I can always try 1.34 when my new pc arrives (in 3 more days :) ). Then everything would already be on a clean slate.
Programming since 1995.
Quote:Original post by T1Oracle
I have a boost_1_33_1 directory, but it doesn't appear to have any lib files.

Boost filesystem is the only part of Boost that I haven't been able to use thus far. I currently have all of the smart_pointers working as they should. I also have MSVC .Net 2003 but I don't think should interfere.


Hmmm... yeah don't bother with 1.34 yet... I believe it's still beta. You can build the .lib files for boost (takes about a half hour).

Do you have the file "bjam.exe" anywhere in your boost directory tree? (Use windows explorer "search") If you don't have it, you can download the executable from the same site (at sourceforge.net)

That's the tool you use for building Boost. They don't offer a download with all the .libs built, I'm afraid.

You'll have to build them on your own:

http://www.boost.org/more/getting_started/windows.html#or-build-binaries-from-source

They seemed to have changed the documentation on that; now it seems a whole lot more fool proof, yet uninformative. Oh well.
my_life:          nop          jmp my_life
[ Keep track of your TDD cycle using "The Death Star" ] [ Verge Video Editor Support Forums ] [ Principles of Verg-o-nomics ] [ "t00t-orials" ]
In fact... do this:

There should be an index.html file in your "boost_1_33_1" folder. Open it, and click on "getting started".

That's the older, more informative document that should help you install the boost libraries and dlls.
my_life:          nop          jmp my_life
[ Keep track of your TDD cycle using "The Death Star" ] [ Verge Video Editor Support Forums ] [ Principles of Verg-o-nomics ] [ "t00t-orials" ]
I had similar problems recently. Check out this thread:

http://www.gamedev.net/community/forums/topic.asp?topic_id=446927
Constipation is the thief of time.Diaorrhea waits for no man.
Quote:Original post by Verg
Hmmm... yeah don't bother with 1.34 yet... I believe it's still beta. You can build the .lib files for boost (takes about a half hour).

It seems to be released now.
At least on the download page there's both a 1.34 beta and one called just 1.34. (And it's featured on the front page news list)

Quote:
http://www.boost.org/more/getting_started/windows.html#or-build-binaries-from-source

They seemed to have changed the documentation on that; now it seems a whole lot more fool proof, yet uninformative. Oh well.


Agreed. I build 1.34 a day or two ago, and yes, it's a lot easier to follow the instructions, but they've also removed all the interesting bits...
I think I'll install 1.34 but I need to know: Do I have to uninstall the old boost before I install the new one? I don't see any advice on this online.
Programming since 1995.
You may find it easier to use the prebuilt binaries from boost consulting
[size="1"]
Quote:Original post by mrbastard
You may find it easier to use the prebuilt binaries from boost consulting

I went there, downloaded the install app, chose to install all of the variants for MSVC 8.0, chose to install all of the libraries for MSVC 8.0, and I still get the same error.

Nothing changed except now I have an uninstall program and some zips in my boost_1_33_1 directory.
Programming since 1995.

This topic is closed to new replies.

Advertisement