How to resolve these linking errors

I'm integrating a library (.lib) into a larger project in VS2008. I've got the library linked and the code integrated, however I am having some linking conflicts. I have 64 errors with the following format:

1>XXXXXXX : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::clear(int,bool)" (?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in SourceA.obj


where XXXXXXX is one of the following three things:
msvcprtd.lib(MSVCP90D.dll)
MSVCRTD.lib(MSVCR90D.dll)
MSVCRTD.lib(ti_inst.obj)


Finally, I get:
9>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library

If I try /NODEFAULTLIB I get 91 warnings and 1317 errors.

I think this means I have conflicting standard objects/functions. How could this happen and how would one fix it?

It appears that the library (.lib) that is being integrated is built to use a different version of the run-time library than the rest of the project.
http://msdn.microsoft.com/en-us/library/6wtdswk0(v=vs.120).aspx
Thanks JL. I'll try this in the morning.

I know initially I wrote the library on my home machine (VS2010), then brought it to work for integration (VS2008). Since then I've re-compiled the library on VS2008 to eliminate the environmental differences but maybe something remained.
Topic archived. No new replies allowed.