LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs
by Kaydelon Interactive, Inc. · in Torque Game Engine Advanced · 02/24/2006 (8:02 pm) · 2 replies
Working from a clean and unmodified download of TSE, I have scoured the GG site (forums, resources, TDN) for a solution to this warning when I compile:
I have been unsucessful in finding a solution on the site, and am not a programmer.... I think I understand the basics of what is causing it (VC2005Express is linking to 2 LIBs that are conflicting with each other?), but I can not find the offending ones.
I have seen others post similar warnings, but I have not found the fix. Does anyone know where the conflict is coming from, and can you nudge me in the right direction?
Aside from this and my other post, I will soon have a 100% VC2005-friendly build! :)
Thanks for your help in advance!
Warning 2 warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library Torque Shader Engine
I have been unsucessful in finding a solution on the site, and am not a programmer.... I think I understand the basics of what is causing it (VC2005Express is linking to 2 LIBs that are conflicting with each other?), but I can not find the offending ones.
I have seen others post similar warnings, but I have not found the fix. Does anyone know where the conflict is coming from, and can you nudge me in the right direction?
Aside from this and my other post, I will soon have a 100% VC2005-friendly build! :)
Thanks for your help in advance!
About the author
Recent Threads
#2
Simply adding /NODEFAULTLIB:"libcmtd" cleared that right up.
Don't know why I didn't catch that myself. lol Must have been too many hours doing too many other things at the same time.
02/25/2006 (1:54 am)
Thanks, Jim.Simply adding /NODEFAULTLIB:"libcmtd" cleared that right up.
Don't know why I didn't catch that myself. lol Must have been too many hours doing too many other things at the same time.
Torque Owner Jim Wuerch
The error is caused by having different libs you are linking against specifiy different versions of the CRT (in this case, likely you have both DLL and static versions of the CRT around. You can make the warning go away by ignoring all the CRT's you dont want. If your app is linking against the DLL version of the CRT, then just add libcmtd to the ignored libraries in the linker tab. I tend to ignore everything but the one version of the CRT I want in projects that give that warning (in older versions, for example, if I just want the multithreaded DLL version of the CRT, I'll ignore libcmt.lib, libctmtd.lib, msvcrtd.lib, libc.lib, and libcd.lib).
Since you say you are trying VC8, likely there's some lib compiled with different version of VC around. (or you are linking a release version, and something specified the debug library)
Putting the cursor on the warning and pressing F1 may give you a link in help as to what the library names are in VC8.