What is up.
RSS icon Email icon Home icon
  • Link error LNK2005

    Posted on June 26th, 2008 Alan No comments

    Was 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).

    Leave a reply

    You must be logged in to post a comment.