Alan Kleymeyer’s Blog
What is up.
-
Link error LNK2005
Posted on June 26th, 2008 No commentsWas getting this error with some legacy code when converted to VS 2008:
nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)
This article provided a solution. More discussion on this issue here.
Overview of C Run-Time and associated options
Based on Visual C++ 6.0:
Solution One: Force Linker to Link Libraries in Correct Order
1. On the Project menu, click Settings. 2. In the Settings For view of the Project Settings dialog box, click to select the project configuration that is getting the link errors. 3. On the Link tab, click to select Input in the Category combo box. 4. In the Ignore libraries box, insert the library names (for example, Nafxcwd.lib;Libcmtd.lib). Note The linker command-line equivalent in /NOD:<library name>.
5. In the Object/library modules box, insert the library names. You must make sure that these are listed in order and as the first two libraries in the line (for example, Nafxcwd.lib Libcmtd.lib).


