Problem with DLLs on SDL

Started by
5 comments, last by Vladas 16 years, 2 months ago
Hello. I've finished my game and tried to compile it to Release mode. Everything seemed to work alright on Debug mode and compiling it to release is alright. However, when I try to run the game on another machine, it gives an error. I've copied DLL files to the game directory and still the same problem. So I've decided to delete all DLLs that I've copied to Windows/system32, so I will have clean machine. I've copied DLLs to both Debug and Release folders. And I've started to get the same error as on another machine. I've looked at the compilation log and that's what I've got: 'Snake2D.exe': Loaded 'D:\VSSource\Snake2D\Debug\Snake2D.exe', Symbols loaded. 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll' 'Snake2D.exe': Loaded 'D:\VSSource\Snake2D\Debug\SDL.dll', Binary was not built with debug information. 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\secur32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\user32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\winmm.dll' 'Snake2D.exe': Loaded 'D:\VSSource\Snake2D\Debug\SDL_image.dll', Binary was not built with debug information. 'Snake2D.exe': Loaded 'D:\VSSource\Snake2D\Debug\SDL_ttf.dll', Binary was not built with debug information. 'Snake2D.exe': Loaded 'D:\VSSource\Snake2D\Debug\libfreetype-6.dll', Binary was not built with debug information. 'Snake2D.exe': Loaded 'D:\VSSource\Snake2D\Debug\zlib1.dll', Binary was not built with debug information. 'Snake2D.exe': Loaded 'D:\VSSource\Snake2D\Debug\SDL_mixer.dll', Binary was not built with debug information. 'Snake2D.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\ddraw.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\dciman32.dll' 'Snake2D.exe': Unloaded 'C:\WINDOWS\system32\ddraw.dll' 'Snake2D.exe': Unloaded 'C:\WINDOWS\system32\dciman32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\uxtheme.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\MSCTF.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\kbdus.dll' 'Snake2D.exe': Unloaded 'C:\WINDOWS\system32\kbdus.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\kbduk.dll' 'Snake2D.exe': Unloaded 'C:\WINDOWS\system32\kbduk.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\dsound.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\ole32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\version.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\dinput.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\hid.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\wintrust.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\crypt32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\msasn1.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\imagehlp.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\wdmaud.drv' 'Snake2D.exe': Unloaded 'C:\WINDOWS\system32\wdmaud.drv' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\wdmaud.drv' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\msacm32.drv' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\msacm32.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\midimap.dll' 'Snake2D.exe': Loaded 'C:\WINDOWS\system32\ksuser.dll' The thread 'Win32 Thread' (0x9ec) has exited with code 0 (0x0). The thread 'Win32 Thread' (0xb98) has exited with code 0 (0x0). The thread 'Win32 Thread' (0xbe0) has exited with code 0 (0x0). The thread 'Win32 Thread' (0xa64) has exited with code 1 (0x1). The thread 'Win32 Thread' (0xfdc) has exited with code 1 (0x1). The thread 'Win32 Thread' (0xd78) has exited with code 1 (0x1). The thread 'Win32 Thread' (0xe2c) has exited with code 1 (0x1). The program '[124] Snake2D.exe: Native' has exited with code 1 (0x1). All thos DLLs that have "Binary was not built with debug information." next to it are in those folders :/ I just don't get why is it doing this. Please help me! P.S. I am using Microsoft Visual C++ Express 2008
Advertisement
did you relink everything when you changed it to release mode?

Learn to make games with my SDL 2 Tutorials

Quote:Original post by Vladas
However, when I try to run the game on another machine, it gives an error.


What error does it give?

When you linked the libs for your project are you sure that you did them for both the debug and the release versions. If you only did them for the debug version then it will not link them when you compile the release.

Check the project settings and make sure everything is linked correctly.

If it is linked right. Then see if the debug version works on other computers and report back.
Only the release version is meant for redistribution. You have to include all the necessary SDL dll files (in the application folder and not copying them to any windows system folder)

The target machine probably does not have the Visual C++ 2008 runtime installed and that is why you can't run your app. You also have to include those runtime DLLs which are located somewhere inside a Visual C++ subfolder (redist ...).

I also tried to do SDL apps with Visual C++ 2008 and by looking at the manifest file that Visual Studio generates it looks like it also introduces a dependency to the VC++ 2005 runtime libraries (this may be due to SDL dlls compiled with that compiler). That means that you may also be required to include the VC++ 2005 runtime DLLs.
Hmm, the error says something that the application needs to be reinstalled. Finally I got the game to run on my machine (I don't even know how, it seems as there was some missing dlls i guess).

But if it works fine on my machine, why doesn't it work on another? Hmm... All games run fine on another PC, but not this one.
OK, I found out something.

The game runs fine on my PC, the game also runs excellent on another machine, that had Microsoft Visual C++ Express 2008 installed, but later uninstalled.

However, I've tested on two more computers and they don't run OK. They give that error, that the system configuration is bad and the application needs to be reinstalled(which is basically impossible, because this is just compiled exe file)

This topic is closed to new replies.

Advertisement