views:

409

answers:

1
#include <boost/regex.hpp>

int main(void)
{
    return 0;
}

Error 2 fatal error LNK1104: cannot open file 'libboost_regex-vc90-mt-gd-1_38.lib'

This isn't a pathing problem. I intentionally do not have that .lib built, and want to link against the mt-sgd-1_38.lib file, but I don't know what I need to set to have boost's auto-naming select the mt-sgd instead of mt-gd.

Also, I'm not sure how it's detecting to use vc90, but I'm attempting to build with VS 2005, which is vc80.

+1  A: 

I believe that flag ('s') is indicative of static linking; ie: linking the c-runtime libraries statically. It would be a project setting for you app.

Also, for the v80/v90 issue, I have had similar when I had the v90 compiler installed with some part of the platform SDK. If you're getting v90 in the linker object name, chances are you're actually building with the v90 compiler (which is possible within the 2005 IDE, depending on path settings and what's installed). Shouldn't be an issue, as long as everything matches.

Nick