Msvcp60.dll

hi,

normally i am developing under linux. there is no problem with the SDL at
all. now i tried compiling my program under win2k and everything works fine
here. but when i try to run the binary under win9x it complains about a
missing MSVCP60.DLL. my project is written in C++. when using plain C, there
is no problem. does anybody know, how to avoid linking this lib with C++? i
dont want to distribute this library with my stuff…

regards,
jan

They are the Visual C++ runtime libraries (I think), and are required on any
machine you run your program on.

I think you need msvcp60.dll and also msvcrt.dll> ----- Original Message -----

From: tahoma@gmx.de (Jan Becker)
To:
Sent: Sunday, November 18, 2001 12:40 PM
Subject: [SDL] MSVCP60.DLL

hi,

normally i am developing under linux. there is no problem with the SDL at
all. now i tried compiling my program under win2k and everything works
fine
here. but when i try to run the binary under win9x it complains about a
missing MSVCP60.DLL. my project is written in C++. when using plain C,
there
is no problem. does anybody know, how to avoid linking this lib with C++?
i
dont want to distribute this library with my stuff…

regards,
jan


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

hi,

normally i am developing under linux. there is no problem with the SDL at
all. now i tried compiling my program under win2k and everything works fine
here. but when i try to run the binary under win9x it complains about a
missing MSVCP60.DLL. my project is written in C++. when using plain C, there
is no problem. does anybody know, how to avoid linking this lib with C++? i
dont want to distribute this library with my stuff…

regards,
jan

Hi

MSVCP60.DLL contains some of the same functionality of the stdc++ library on
Linux. In other words, if you are using any STL stuff then you need the DLL.

I’m not sure there is any way around not distributing this DLL with your
app.

The issue is not a Win2K / Win98 issue either. A clean Win2K installation
will not have the DLL either. You can’t assume that any target system will
have the DLL.

Steve> ----- Original Message -----

From: Jan
To: sdl at libsdl.org
Sent: 18/11/01 01:40
Subject: [SDL] MSVCP60.DLL

hi,

normally i am developing under linux. there is no problem with the SDL
at
all. now i tried compiling my program under win2k and everything works
fine
here. but when i try to run the binary under win9x it complains about a
missing MSVCP60.DLL. my project is written in C++. when using plain C,
there
is no problem. does anybody know, how to avoid linking this lib with
C++? i
dont want to distribute this library with my stuff…

regards,
jan


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


This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com


“Robert Clayton” wrote in message
news:mailman.1006050243.424.sdl at libsdl.org

They are the Visual C++ runtime libraries (I think), and are required on
any
machine you run your program on.

I think you need msvcp60.dll and also msvcrt.dll

No, u don’t need msvcrt. This is the c run-time library (MS Visual C Run
Time perhaps?) and can be selected in the projects options the other
choices are static libraries and the multithreaded libraries. in fact i’m
sure u don’t need mcvcp either hmmm… ahh its the stdcpp library! ahhh. I
use STLport so i can’t really help here. all i can suggest is to select
Project->settings->c/C+±>Code generation then select "debug multithreaded"
for the run-time library (as appoised to the “debug multithreaded dll”)

if this does work perhaps add somehting like
"MSVCPRT.LIB" to the “ignore libs” in the link tab under input
but again i use stlport so i’m really just guessing

riki

later the evening i tried to build a simple C++ project with the compiler
switch /MT (multithreaded). fine, no MSVCP60.dll linked. switching to /MD
causes the old problem. i had a look into the project settings of SDL and it
is compiled with /MD. ok, SDL does not need the c++ lib, i just binds to
MSVCRT.DLL that is available on any system i had a look.

i am confused a little. why should it be impossible to build an binary coded
in C++ and run it on a standard system? how does other projects handle it?
some games or whatever graphical applications are developed with C++ but
never i had to copy a MSCPxx.dll to my system (else it would be available
here now :slight_smile: ).

later the evening i tried to build a simple C++ project with the compiler
switch /MT (multithreaded). fine, no MSVCP60.dll linked. switching to /MD
causes the old problem. i had a look into the project settings of SDL and it
is compiled with /MD. ok, SDL does not need the c++ lib, i just binds to
MSVCRT.DLL that is available on any system i had a look.

You should set your link settings to “Multithreaded DLL”, since that’s what
SDL is built with. That only gives you the MSVCRT dependency. … at least
for C code. I’m not sure about C++.

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment

The case for MSVCP60.DLL is very simple. You must
distribute this library with executable that has
dependency to it.

The only ways I know to make executable which does
not have depedency to the library are:

- Use some other compiler (cygwin?)
- Use STLport
- Dont use STL

As SDL is dynamically linked library, you really should
use DLL versions of runtime libraries.

why should it be impossible to build an binary coded
in C++ and run it on a standard system?

It is not impossible. You just have to distribute the library.
Place the library to the very same directory as the executable
and everything will work just fine.

how does other projects handle it?

Those who distribute the library have no problems.

some games or whatever graphical applications are developed
with C++ but never i had to copy a MSCPxx.dll to my system

It is the STL, not C++.

(else it would be available here now :slight_smile: ).

You should still distribute the library even if you happen
to have it already. Others will not have the library.

– Timo Suoranta – @Timo_K_Suoranta

The case for MSVCP60.DLL is very simple. You must
distribute this library with executable that has
dependency to it.

The only ways I know to make executable which does
not have depedency to the library are:

  • Use some other compiler (cygwin?)
  • Use STLport
  • Dont use STL

As SDL is dynamically linked library, you really should
use DLL versions of runtime libraries.

why should it be impossible to build an binary coded
in C++ and run it on a standard system?

It is not impossible. You just have to distribute the library.
Place the library to the very same directory as the executable
and everything will work just fine.

how does other projects handle it?

Those who distribute the library have no problems.

some games or whatever graphical applications are developed
with C++ but never i had to copy a MSCPxx.dll to my system

It is the STL, not C++.

(else it would be available here now :slight_smile: ).

You should still distribute the library even if you happen
to have it already. Others will not have the library.

– Timo Suoranta – tksuoran at cc.helsinki.fi

that clears the fact, thank you.

regards,
jan

You should set your link settings to “Multithreaded DLL”, since
that’s what
SDL is built with. That only gives you the MSVCRT dependency. … at least
for C code. I’m not sure about C++.

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment

setting to “Multithreaded DLL” is the same like using parameter /MD.
unfortunately MSCP60 dependency is added for C++. just “Multithreaded” (/MT)
does the trick. but it is in conflict with SDL then.
?!?!

regards,
jan> _______________________________________________

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