[GD-Windows] Linker hell
Brought to you by:
vexxed72
From: Brian H. <bri...@py...> - 2001-11-07 19:18:05
|
So I'm trying to build a fairly large project, statically linked (no DLLs), and so far I'm in hell. First pass: Select all projects and use "Multithreaded Debug" library. I get conflicts with MSVCRTD.DLL, even though it's not being explicitly referenced by anything. I do a DUMPBIN on the modules in question, and they show they're that their defaultlib is MSVCRTD.LIB even though the project is showing them as using Multithreaded Debug (LIBCMTD.LIB). What the hell? Second pass: Select "No default libraries" and manually specify LIBCMTD.LIB in the libraries list. Conflicts go away, but now I get: LINK : warning LNK4049: locally defined symbol "_malloc" imported LINK : warning LNK4049: locally defined symbol "_free" imported LINK : warning LNK4049: locally defined symbol "_memmove" imported LINK : warning LNK4049: locally defined symbol "_realloc" imported ogg_static_local.lib(framing.obj) : error LNK2001: unresolved external symbol __imp__memchr vorbis_static_d.lib(info.obj) : error LNK2001: unresolved external symbol _strdup I'm not using the Ogg Vorbis libs directly, I'm actually compiling the source files. What's particularly disturbing is that suddenly it can't find strdup() or memchr() just because I changed libs?! Any ideas? Brian |