Discussion:
VC++ 2005 EE ---- Creating standalone C++ apps
(too old to reply)
Nimmi Srivastav
2007-09-02 04:24:50 UTC
Permalink
I would appreciate if someone could tell me how I can build standalone
C++ apps using VC++ 2005 Express Edition. I successfully built an app
but when I copied the executable to a different directory, I kept
getting the following error:

"The application has failed to start because MSVCP80.dll was not
found ....."

I want to build a completely standalone app, which can run on any
windows system without requiring the dll. I have done that sort of a
thing on say VC++ 6.0.

Any help will be appreciated.

Regards,
Nimmi
Nathan Mates
2007-09-02 05:00:47 UTC
Permalink
Post by Nimmi Srivastav
I would appreciate if someone could tell me how I can build standalone
C++ apps using VC++ 2005 Express Edition. I successfully built an app
but when I copied the executable to a different directory, I kept
[...]
Post by Nimmi Srivastav
I want to build a completely standalone app, which can run on any
windows system without requiring the dll. I have done that sort of a
thing on say VC++ 6.0.
Due to some halfbaked decisions by Microsoft, this is a lot harder
that it should be. By default, they try to use manifest files, which
require files without being useful enough to tell you how to get them.
You can do the following:

1) Get your end users to install
http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en (for 2005)
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en (For 2005+SP1)

2) Link against the Multithreaded runtime libs (not Multithreaded
DLL), then in the linker & manifest settings, turn off use of
manifests.

Manifests are something that feel to me like a version 0.7 of their
spec/software escaped into the wild before it was really ready. Maybe
in DevStudio 2008 they won't be so annoying and painful.

Nathan Mates

--
<*> Nathan Mates - personal webpage http://www.visi.com/~nathan/
# Programmer at Pandemic Studios -- http://www.pandemicstudios.com/
# NOT speaking for Pandemic Studios. "Care not what the neighbors
# think. What are the facts, and to how many decimal places?" -R.A. Heinlein
David Lowndes
2007-09-02 08:47:14 UTC
Permalink
Post by Nimmi Srivastav
I would appreciate if someone could tell me how I can build standalone
C++ apps using VC++ 2005 Express Edition. I successfully built an app
but when I copied the executable to a different directory, I kept
"The application has failed to start because MSVCP80.dll was not
found ....."
I want to build a completely standalone app, which can run on any
windows system without requiring the dll. I have done that sort of a
thing on say VC++ 6.0.
You need to change your project build options from linking with the
DLL versions of the 'C' run-time libraries, to instead use the static
link library. In the project's property pages, C/C++ tab, Code
Generation, Runtime library - /MT(d).

Dave

Loading...