Help compiling app with SDL!

Started by
7 comments, last by Yamian 18 years, 10 months ago
Is there any way to recompile SDL so that it wouldn't require using "Multithread DLL" as the runtime library. I'd gladly compile my app without a dependancy to msvcr71.dll. Is there anyone who successfully removed this dependancy? Whatever I try, it comes down to the compiler telling me that there is a conflict between standard libraries (msvcrt.lib and the one I choose, like LIBC.LIB, for example) Thanks
Advertisement
Compile it with Dev-C++.
HxRender | Cornerstone SDL TutorialsCurrently picking on: Hedos, Programmer One
Well, now that's a direct solution. I did, but it comes down to using another compiler. I just wanted to know if there was a way with MS' compiler.

However, you're right, MinGW doesn't cause useless dependancy.
Quote:Whatever I try, it comes down to the compiler telling me that there is a conflict between standard libraries (msvcrt.lib and the one I choose, like LIBC.LIB, for example)


What happens if you just tell the linker to ignore the offending lib?
"When you die, if you get a choice between going to regular heaven or pie heaven, choose pie heaven. It might be a trick, but if it's not, mmmmmmm, boy."
How to Ask Questions the Smart Way.
Well, I can't, I've tried, but since it's the standard library, I use /NODEFAULTLIB, but then, it goes totally nuts, because all references to standard functions is voided :)

Well, I've given up on this. This standard library linking stuff in MSVC is giving me headaches :( I hoped somebody with some magic could've helped me out on this.

I find it really annoying that there is about 10 types of runtime libraries, so making .lib myself makes it really annoying, because I have to rebuild it any time I change the runtime in the app that uses it, it's pretty non-sensical to me, .lib should be like, runtime-lib neutral.

You don't have to ignore all the default libs (with the check box as it sounds like you tried). There is a line in the project settings under the link tab where you can list specific libraries to ignore. Don't give up!
"When you die, if you get a choice between going to regular heaven or pie heaven, choose pie heaven. It might be a trick, but if it's not, mmmmmmm, boy."
How to Ask Questions the Smart Way.
I have already :) I was not a big fan of MS anyway. I'm back to MinGW and things are working now at least. No libc/libcd/libdc/libdc/libmd/libm/libdmd/libdmt/msvcrt/msvcr71/msvcr71d/mscvrtd, etc... mess :) I'm exaggerating, but it's so stupid that it works like this IMHO. I never seen this kind of conflicts with gcc, or perhaps I just didn,t happen to encounter any. Anyway...
What you have is the SDL.dll passing off all C/C++ related calls to another dll. I think you should be able to rebuild it such that the relevant calls are inserted into the DLL, but it would probably be a fair bit larger. I don't think anybody's bothered with this because it's not much of an advantage really, especially since very few people don't have the MS runtime.
I used to use MinGW, but so many problems are in it that are standard in VC. If you look around ur Program Files, you'll notice a lot of MSVCR71.dlls. It's perfectly professional to use, and it's not like a big file. And when VC8 is done, teher are going to be virtually no problems in code conversion. Think of it as Microsoft's signature on your program, just saying that they helped a little by providing you a runtime library.

This topic is closed to new replies.

Advertisement