What /else/ causes this?

Posted by Mordachai on Stack Overflow See other posts from Stack Overflow or by Mordachai
Published on 2011-01-11T20:37:20Z Indexed on 2011/01/11 20:53 UTC
Read the original article Hit count: 205

Filed under:
|
|
MFC Toolbox Library.lib(SimpleFileIO.obj) : error LNK2005: _wcsnlen already defined in libcmtd.lib(wcslen_s.obj)
fatal error LNK1169: one or more multiply defined symbols found

This is driving me nuts. Normally, one would get this if the various projects that are a part of their solution do not agree on which CRT to use (single threaded, multi-threaded, release or debug). However, I have been over this thing about 500 times now, and they all agree.

Background: this is a VS 2010 project just converted from VS 2008.

MFC Toolbox Library.lib is set to compile as a static library, using /MTd, as is the target .exe I am trying to compile in this solution. Further, the solution that this is being converted from (VS 2008) already compiles & links properly!!! So it's not like that there is a disagreement between the two .vcproj's - or at least there wasn't before the conversion.

Furthermore, the MFC Toolbox Library is used by about 25 other projects in another solution - and in that solution (Master Build English) it compiles & links against those other projects without complaint in both debug and release targets.

I have just spent the last hour going over every single project property for this target project (Cimex Header Viewer) vs. several different target exe projects in Master Build English solution - and I cannot find a difference. They appear to be identical, excepting that they're different names.

I've tried doing a clean & build all. I'm simply out of ideas.

Does anyone have a thought on what else I might investigate???

I think I'm ready to start chewing glass. :(

© Stack Overflow or respective owner

Related posts about c++

Related posts about visual-studio-2010