DLLs

  • Thread starter richard pickworth
  • Start date
R

richard pickworth

when I try to run my app. on a different computer, I get an error, that DLLs
are missing. How can I make my app. "stand alone"?. I am using VisC++ .Net
Express.
yours
Richard
 
E

EventHelix.com

This is off-topic here. Try the news group
comp.os.ms-windows.programmer.tools.mfc

There is a compiler/linker option to statically link with MFC.
 
K

kalos

There are two ways to do this:
The way that does exactly what you ask is to statically link your DLLs.
I'm guessing that the DLLs that are required are MFC or something like
that (not your own).
You have to edit your project settings and look under linker. Here
there should be an option to choose how to link against Microsoft
libraries. I think the current selection will be "Using MFC as a
Dynamic Link Library" (DLL) and you want to change it to "Using MFC as
a Static Link Library". (You should watch out for this:
http://support.microsoft.com/default.aspx?scid=kb;en-us;194299)

What happens when you do this is all of the code that you use (I
believe it is only the code you use and not the whole DLL) is
incorporated into your EXE. This will bloat the size of your executable
(don't forget, big executables can be slower due to cache misses...).


This is why you should do the second option if possibe:
Package the required DLLs with your app. If you are using an installer
package like InstallShield, this is no problem. Even if you are just
using a zip package you can just include all of the DLLs required in
the same directory as your app.
Either way the error message should say which DLLs are missing (or it
will tell you one at a time - you will have to add the DLL it asks for
and then get another error message to find the next DLL). Just look on
the developer computer for the DLLs and include a copy of them in your
package.

Note that if you are using InstallShield or the like, you should
probably put the files in System32. But check the InstallShield help
for that. (This will make sure that the files are shared and the
space-saving attributes of DLLs are preserved.)

-Kalos
 
M

Matthias Meixner

richard said:
when I try to run my app. on a different computer, I get an error, that DLLs
are missing. How can I make my app. "stand alone"?. I am using VisC++ .Net
Express.
yours
Richard

Let me guess: You have compiled it as "Debug" and therefore it links against
Debug-DLLs that are not found on "normal" systems. You can resolve it by
compiling it as "Release"

- Matthias Meixner
 
A

adbarnet

let me guess... You're working on the windows platform?

try using the Depends tool to establish your binary dependencies.
 
R

Rick N. Backer

when I try to run my app. on a different computer, I get an error, that DLLs
are missing. How can I make my app. "stand alone"?. I am using VisC++ .Net
Express.
yours
Richard
When you're setting up the project check the box for static linking as
opposed to dynamic linking

Ken Wilson

Amer. Dlx. Tele, Gary Moore LP, LP DC Classic w/P90s,
Jeff Beck Strat, Morgan OM Acoustic,
Rick 360/12, Std. Strat (MIM), Mesa 100 Nomad,
Mesa F-30

"Goodnight Austin, Texas, wherever you are."
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top