Allegro.cc - Online Community

Allegro.cc Forums » Installation, Setup & Configuration » MSVC - /MDd and /MD flag

This thread is locked; no one can reply to it. rss feed Print
MSVC - /MDd and /MD flag
quarion
Member #10,781
March 2009

Hello.
I am trying to compile my project using Visual Studio 9 with all optimization possibilities available. I have set my compile modes according to : http://wiki.allegro.cc/index.php?title=Visual_C%2B%2B_Express_2005
When i compile under debug mode everything works fine.
Then i try to compile in release and static runtime/ static release mode. And everything starts to act odd.
When i run my program through IDE (simply pressing F5) it runs fine, except it do not respond to keyboard. When i run it through .exe it is working... wired. Only couple of bitmaps are rendered, but it response to my keyboard, and mechanic is working (i can't tell how well, because most of it is not rendered).
Then, when i change compile settings from /MT to /MTd and run it through IDE nothing changes, but when i run it through .exe it is working fine.
But i bet /MTd flag tells compiler to use slower versions of library functions, and nobody wants something like that.
Can anybody here help me with this?

I am using binary build of Allegro 4.2.2 and DX sdk from http://www.liballeg.org/wip.html (dx70_min.zip)

Milan Mimica
Member #3,877
September 2003
avatar

With alleg.lib you must use /MD
With alld.lib you must use /MDd
With alleg_s_crt.lib you must use /MT
...

quarion
Member #10,781
March 2009

Thanks for the answer.
Unfortunately i am compiling with the correct lib set in "additional dependencies", so that is not the problem here.
I hope someone can help me, maybe i am making some common mistake (i have never deployed a c++ program before). But considering that no one asked similar question on this forum, maybe it is some "unique" bug ;)
=Edit=
If someone is willing to look into it i can give you a link to my project source.
The strange thing about this situatnion, is that if i execute my program form a different location (for example add a file to a folder with the .exe) different objects are and aren't rendered.

Go to: