We help IT Professionals succeed at work.

MSVCP60.dll in ATL EXE

Medium Priority
330 Views
Last Modified: 2013-11-25
Hi all.

I have created an ATL COM EXE server that do not use MFC at all. But when I have tried to instell it in a computer that do not have MFC installed at it, I'm getting the error that the dynamic link library MSVCP60.dll can't be found ...

Why this dll is used by the EXE?
And how can I remove that dependency?

Thanks Rami.
Comment
Watch Question

CERTIFIED EXPERT

Commented:
Standard C++ Runtime Library ?
CERTIFIED EXPERT
Author of the Year 2009

Commented:
This nasty thing is called in when you use cout, cin and perhaps other stream-related junk.  You may be able to link in a static version of the library, but odds are, if you have a COM object, you just left some debugging stuff in by accident.  You can use printf, etc instead.

-- Dan

Author

Commented:
Thanks Pacman and Dan

I didn't use cout at all.
Do you think that the ATL automatic code generated are using the Standard C++ Runtime Library ?

Rami
CERTIFIED EXPERT
Author of the Year 2009

Commented:
See:

INFO: What Are the C/C++ Libraries My Program Would Link With?
ID: Q154753

http://support.microsoft.com/support/kb/articles/Q154/7/53.asp

-- Dan
CERTIFIED EXPERT
Author of the Year 2009

Commented:
In Project/Settings/C++/Code Generation, select a non-DLL version of the runtime libs

-- Dan

Author

Commented:
> In Project/Settings/C++/Code Generation, select a non-
> DLL version of the runtime libs

Does communicating (in DCOM) between two COM EXE that using diffret CRTs can make any problems?

We are (all the programers in our company) all using Multithreaded DLL as CRT becouse some of us had problems.

Thanks Rami
CERTIFIED EXPERT
Author of the Year 2009

Commented:
>> all using Multithreaded DLL as CRT...

Then you should not mind distributing MSVCP60.dll with your program... everybody who runs your code will already have it.  

So what's the fuss?

-- Dan
Your program requires because you use STL.
(You must distribute MSVCP60.DLL with your project. For example, on clean Win95 you can not find this dll)
You can use STLPort instead, in this case all STL code will be linked to your program.
CERTIFIED EXPERT
Author of the Year 2009

Commented:
hi me8873,
Do you have any additional questions?  Do any comments need clarification?

-- Dan
CERTIFIED EXPERT
Author of the Year 2009
Commented:
hi me8873,
Do you have any additional questions?  Do any comments need clarification?

-- Dan
Comment from DanRollins accepted as answer.

Thank you
Computer101
Community Support Moderator

Explore More ContentExplore courses, solutions, and other research materials related to this topic.