SDL. Problem with excutable file.

Started by
2 comments, last by pinacolada 14 years, 11 months ago
Hello. I have trouble getting my game to work outside Visual C++ 2008 (as an .exe file) When I compile and debug in the VC++ it works just fine, unfortunately when I try to run the excutable (found inside my project's folder "Debug") it just crashes on the start with the regular "Game.exe has encountered a problem and needs to close". I have put dll's inside and my VC++ is configured just like in all the tutorials I have read. Dependency Walker gives me this: "Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module." Also i get the red icon near MPR.DLL Module. Any idea what may cause the problem ?
Advertisement
If it's in the debug directory, I trust you haven't compiled it in release mode? (The debug mode depends on the debugger.)
check the configuration you used when compiling whether it's debug or release then go to the right folder where you'll find your exe file, then check all the linked libraries and put their dlls in this folder.
I suggest you just put the needed dlls (SDL.dll or SDL_image.dll) in the windows folder, that way you won't have to copy those files in any new project's directory.
and about Dependency Walker, I get that message too, that some dependency modules aren't found, for me it's DevMgr.dll and MSJAVA.dll but even so all my SDL apps work flawlessly.

and also another trick it's that your artwork may be linked to relatively, if you load an image for example with a relative path, that path starts from the projects folder when running from within the IDE, but when running the executable it starts from the path of the executable.

here's the default directory tree of a VC solution:

Solution-Name (Path of the solution)
|
|--Debug (where you debug exe is located)
|
|--Release (where you release exe is located)
|
|--Project-Name (Path of the project)
|--|
|--|--Debug (.obj , .pdb and manifest files for debug config)
|--|
|--|--Release (.obj , .pdb and manifest files for release config)

I hope this helped..
Never Ending Ambition..is my best friend during the long journey
If it works from the IDE but not otherwise, the most likely cause is the wrong current working directory. Does your app try to load files using relative paths? Does it crash if it can't find those files?

I'm not convinced that the problem is that it's missing SDL.dll. Usually, if you forget a DLL, you get a pretty specific error message. Something like, "The application has failed to start because SDL.dll was not found".

This topic is closed to new replies.

Advertisement