MSVC project settings for ogg_static_d.lib cause linker errors when used with "Debug Multithreaded" libs
The project settings for ogg_static_d.lib default to "Debug Multithreaded DLL". When I changed them to "Debug Multithreaded" to work with my application, I still got linker errors that indicated something was linked with the DLL libs. Specific errors: Linking... MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _malloc already defined in libcmtd.lib (dbgheap.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free already defined in libcmtd.lib (dbgheap.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _memmove already defined in libcmtd.lib(memmove.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _realloc already defined in libcmtd.lib(dbgheap.obj) LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library .\WinDebug/Game.exe : fatal error LNK1169: one or more multiply defined symbols found Error executing link.exe. Cause: There are two files in the ogg_static project that are individually set to use the "Debug Multithreaded DLL" libraries, and they do not change with the project settings. To fix: Open the ogg_static project with MSVC, go to Project->Settings, make sure the active project ("Settings for:") is Win32Debug, select bitwise.c, switch to the C++ tab, and hit the "Reset" button. This should not change the file's settings, but it will set it to sync with the project settings, so that changes to the entire Debug project will affect the individual file. Do the same for framing.c.