Game engine error

i get this error everytime i try to compile for the lastest version of blender, A required .DLL file, SDL.DLL, was not found. whats going on? Can someone hook me up with this file or tell me where i might be able to get it?

I just checked and that file was included in my installation. If you use windows and you did a default, check program files/ blender foundation/ blender/sdl.dll. One way to remedy it would be to put it in your windows/system directory. That way it will always be found. Just the .dll, not everything.

:wink: Google it.

Click on mirror to download. Always do a virus check after you download stuff cause I’m not positive that it’s safe. It probably is safe, but you can never be too sure.

Jason Lin

thanks people, what life savers! well anyways what Blender Savers, i was about to ditch this version and just rely soley on the last blendergame engine…

i had the same problem before, odds are you do have the file right in with all of your other blender stuff, but i’m guessing that you didn’t put your runtime in the same folder as your “sdl.dll” , to fix this simply make a copy of the “sdl.dll” and put it in the same folder as your runtime and all should be well in the blender universe.

PS. it might also ask for “python23.dll” just repeat the above procedure.

PS2. if you want to share the game with other people you’ll have to send the .dll files with it

cool thanks for the suggestions and answers…

The file is located in C:…\Blender Foundation\Blender . You can also obtain it if you download the SDL SDK.

I know no one ask for this but…

SDL stands for “Simple DirectMedia Layer.” It is mostly a graphics API but also does sound, input, and possibly networking. I am not quite sure why Blender uses it, possibly to make OpenGL coding that much easier. Funny thing is, though, it has nothing to do with DirectX. Some use SDL to make 2D game coding easier but I hear it can also do 3D. Basically, it is an encapsulation of OGL adding another “layer” above the hardware. There is a Python binding of it known as PyGame.

DLL stands for “Dynamic Link Library.” Programs can be either statically linked or dynamically linked or both. DLLs contain functions or routines that process data. If a DLL is not used, then during compile time a program can be built using LIB (library) files. You see the source code (.c or .cpp) is built into machine code (usually a .obj file), which is in turn sent off to the linker who takes the object files and LIB files and turns them into an executable (.exe). However, if DLLs are used, then the programs can be smaller and will use only what they need to during run time and not during compile time. The only catch is, the DLL must accompany the executable in order to work. Of course, a program can be built with LIB files and still use DLLs. So, the run time files (.exe), that Blender saves, are looking for the functions they need in SDL.dll but if the file is not there they can no longer process the data (geometry, states, coordinates, etc.) and thus raise an exception (error).

while we’re offtopic about what SDL is, I believe it became a requirement for blender with the 2.28 release and the addition of sound support [in the UI, for synching to animations and such].

It would be very nice if it was accessable in python for joystick support. It doesn’t really seem like that much to ask, just a coder [I’m too lazy, ketster is probably too busy] must get on it.

SDL will try to use native librarires for its capabilities. From what I can tell, it uses DirectInput in windows for joysticks and stuff [Is there even a need for another library in windows?], directX for audio, directDraw for 2d things, and it is very easy to create a directx or opengl context [window] in SDL. In linux I believe oss is used for audio, opengl for graphics [SDL only does 2d stuff], uhh, its own thing for input? [I honestly have no idea]

… or something