Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / SC_Collision Error

Author
Message
Tylerman35
15
Years of Service
User Offline
Joined: 23rd Jul 2009
Location:
Posted: 15th Sep 2009 04:25
How can i fix this error?

1>------ Build started: Project: War Zone, Configuration: Debug Win32 ------
1>Compiling...
1>cl : Command line error D8016 : '/MTd' and '/clr' command-line options are incompatible
1>Build log was saved at "file://c:\Users\Tyler\Documents\Visual Studio 2008\Projects\War Zone\War Zone\Debug\BuildLog.htm"
1>War Zone - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
puppyofkosh
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location:
Posted: 15th Sep 2009 04:31
I'm not sure, at all but it says "MTd" there, so what I would do is go into properties > c++ > code generation and set the thing that says MTd to MT.

I really have no idea though.
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 15th Sep 2009 05:53
Yes, the MTd switch means you are compiling your project with MultiThreaded Debug libraries, GDK needs to be compiled with plain MultiThreaded libraries, you can change that option as per Puppy of Kosh's post....

the /clr option means that you have enabled the Common Language Runtime, which GDK is, at least out of the box, incompatible with. You can also change that from project properties.

The only way that switch could have been set though, is if it was done manually, ie, you did it OR a non-GDK project type was started that included CLR support. Either way, you need to remove the references to the CLR as they will conflict with GDK, its unmanaged...

If it ain't broke.... DONT FIX IT !!!
dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 15th Sep 2009 06:29 Edited at: 15th Sep 2009 06:29
/MTd has nothing to do with being managed, it just means the debug CRT is used which allows you to do additional useful debugging things such as _ASSERT and whatever else uses _DEBUG.

There is a way to get /MTd to work if you want these additional features, first go to your project's Linker/Ignore Specific Library and replace the existing ones with msvcrt, atls, libcmt. Then you need to define "_invalid_parameter_noinfo" which is an incredibly bad hack, but just include this somewhere in a source file:



Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 16th Sep 2009 00:56
I was referring to the common language runtime(managed c++ - /clr switch) not the thread-type of the library being linked too, which of course has nothing to do with being managed or not(from the pov of the op's question anyway)

If it ain't broke.... DONT FIX IT !!!

Login to post a reply

Server time is: 2024-10-01 12:22:25
Your offset time is: 2024-10-01 12:22:25