From: Francesco M. <f18...@ya...> - 2007-04-23 22:41:17
|
John Labenski ha scritto: > If you try to compile for debug multilib you get the warning below, > which means that the program will crash trying to free() anything > that's malloced since we've mixed debug and non-debug libs. > > Linker Tools Warning LNK4098 > defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library > > We can solve this by adding this > > /NODEFAULTLIB:msvcrt.lib ... > > I would guess that the reason why we need to do this (wxWidgets > samples do not) is that modules_mod_lua.dsp generates a non-debug > lua5.1.lib for the "debug" setting and MSVC gets confused and ignores > the fact that we've set "Use_Debug_Libraries 1" and links to the > non-debug msvcrt lib? When I change the lua5.1.lib to be debug by hand > I no longer get the 4098 warning and the program doesn't crash, so I > think my theory is correct. Great, thanks for testing/debugging this! > Francesco, what do you think about this and which way makes more > sense, add NODEFAULTLIB or change lua5.1.lib to be debug as well? I really think NODEFAULTLIB is a sort of hack. If user selected BUILD=debug, then we need to build lua in DEBUG mode as well. I should have fixed it now (see also my other mail "Big build system changes"). Francesco |