Win98 VC6 Release mode woes

Hi all, I’ve got an SDL app (go figure), working with
the 1.2.7 libraries, that I’m building on Windows 98
with Visual C++ 6 as the compiler. It runs just fine
on the Debug configuration, using Debug Multithreaded
DLL for the famous Code Generation setting, but when I
switch to the Release configuration, which uses the
regular Multithreaded DLL, suddenly all of the
graphics stop rendering completely. All of the input
still works the way it should (it’s a screen saver, so
any input ends the program), but I just don’t get
anything showing up on the screen.

Now, in theory, the only problem with this would be
that the .exe would be a little bigger than it has to
be, bloated with all of that debug information -
however, there’s another problem. The debug version
of the .exe won’t run without msvcrtd.dll. Note that
this is different from msvcrt.dll, which is included
on every Windows operating system since 98;
msvcrtd.dll is the debug version of the same library,
and I believe it only comes with Visual Studio. So if
I want to distribute this thing, I have to not only
throw in SDL.dll, but also this fairly sizable debug
library. And honestly, I can’t think of any good
reason why building to Multithreaded DLL instead of
Debug Multithreaded DLL should make everything
disappear. Does anyone have any advice, experience,
questions of things to check out?

Thanks,
Steve__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html

hi, I am a beginner but … did you execute your compiled application
FROM VC ? or from the windows explorer ?

Noticed that Nothing never show up when u execute from VC, well, I guess
everyone is knowing this here, I read it on a website earlier.

Sorry If I am wrong.

Smith Steve a ?crit :> Hi all, I’ve got an SDL app (go figure), working with

the 1.2.7 libraries, that I’m building on Windows 98
with Visual C++ 6 as the compiler. It runs just fine
on the Debug configuration, using Debug Multithreaded
DLL for the famous Code Generation setting, but when I
switch to the Release configuration, which uses the
regular Multithreaded DLL, suddenly all of the
graphics stop rendering completely. All of the input
still works the way it should (it’s a screen saver, so
any input ends the program), but I just don’t get
anything showing up on the screen.

Now, in theory, the only problem with this would be
that the .exe would be a little bigger than it has to
be, bloated with all of that debug information -
however, there’s another problem. The debug version
of the .exe won’t run without msvcrtd.dll. Note that
this is different from msvcrt.dll, which is included
on every Windows operating system since 98;
msvcrtd.dll is the debug version of the same library,
and I believe it only comes with Visual Studio. So if
I want to distribute this thing, I have to not only
throw in SDL.dll, but also this fairly sizable debug
library. And honestly, I can’t think of any good
reason why building to Multithreaded DLL instead of
Debug Multithreaded DLL should make everything
disappear. Does anyone have any advice, experience,
questions of things to check out?

Thanks,
Steve


Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Smith Steve wrote:

Hi all, I’ve got an SDL app (go figure), working with
the 1.2.7 libraries, that I’m building on Windows 98
with Visual C++ 6 as the compiler. It runs just fine
on the Debug configuration, using Debug Multithreaded
DLL for the famous Code Generation setting, but when I
switch to the Release configuration, which uses the
regular Multithreaded DLL, suddenly all of the
graphics stop rendering completely. All of the input
still works the way it should (it’s a screen saver, so
any input ends the program), but I just don’t get
anything showing up on the screen.

  1. Debug and release configurations are both aggregates of many individual
    options. Try to figure out which specific option causes your problem.

  2. Mixing runtime libraries is bad. If SDL is built with Multithreaded DLL
    (which is the default), so should your program, even for debug builds. If
    SDL is built with Debug Multithreaded DLL, rebuild it with Multithreaded DLL
    and try again.

  3. Windows 95, which is still in use by some people, does not come with
    msvcrt.dll. Because of this, I recommend that you distribute that DLL with
    your program even if it does come with Windows 98 and later.–
    Rainer Deyke - rainerd at eldwood.com - http://eldwood.com