Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Ogg Ogg
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Xiph.Org
  • OggOgg
  • Issues
  • #152
Closed
Open
Created Feb 07, 2002 by Gitlab Bot@GitlabBotDeveloper

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.
Assignee
Assign to
Time tracking