OK, I've narrowed this problem down to one chunk of code:
bool CMap::Load(char* lpsFileName)
/*if (!MapFile.Open(lpsFileName, CFile::modeRead | CFile::typeBinary))
TRACE("Unable to open map file %s\n", lpsFileName);
//Make sure file is a DemonRift map file.
//1st line should be "DEMONRIFT"
sFileTag = 0;
if (strcmp(sFileTag, "DEMONRIFT") != 0)
//TRACE("&s is not a valid DemonRift map file\n", lpsFileName);
//Make sure map version is the same as the game
if (iMapVersion != iVersion)
//TRACE("Map %s is version %d and the game is version %d\n", lpsFileName, iMapVersion, iVersion);
Uncommenting any one of the commented out lines of code produces this link error:
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)
Debug/DemonRift.exe : fatal error LNK1169: one or more multiply defined symbols found
I've changed the library to the multi-threaded version. What is weird is that uncommenting one of the TRACE lines produces the same error as uncommenting say the
The afx.h file is in a header (the only thing in that header) that is only included in one other place, my sound class, which only initialized DirectSound, sets the coop level, creates a buffer and sets it's format.
Any ideas or suggestions would be appreciated.