From: David Ching on 23 Apr 2010 10:30 "Oliver Regenfelder" <oliver.regenfelder(a)gmx.at> wrote in message news:f2cee$4bd14ea3$54772cd9$12462(a)news.inode.at... > Hello, > > David Ching wrote: >> Sure, it's automatic for all your projects built with VS 2005/2008 using >> a manifest (the default). The manifest built into your .exe gives the >> exact version of the C Runtime, ATL, and MFC DLL's, and your .exe won't >> load if those DLL's (or updated ones) are found. > > Would a VS2008 build fall back to using app-local dll's if the manifest > is removed from the executable, if that is actually possible? > I believe if you remove (or disable the generation of) the manifest in your ..exe, then VS 2008 would indeed fall back to the same DLL Hell behavior of VS 2018, which does mean using the DLL's in the local folder. But I've not tried this. The difference is the VS 2008 DLL's have manifests in them, and I'm not sure what happens when the .exe that loads them does not. -- David
From: Giovanni Dicanio on 23 Apr 2010 12:09 "John H." <oldman_fromthec(a)yahoo.com> ha scritto nel messaggio news:e19781c3-0328-44f6-8ead-23a8c91d1721(a)11g2000yqr.googlegroups.com... >> Also; if I need to take DLL's with me to run my dialog, how can I tell >> what >> DLL's I need? > > Try searching for a MS application called "dependency checker". You > will probably be surprised at the number of libraries you are > dependent on. http://www.dependencywalker.com/ Giovanni
From: Tom Serface on 23 Apr 2010 17:51 These days I try to use a few DLLs as possible. Of course, now that I'm working on video stuff again I have CODEC hell rather than DLL hell. It is surprisingly difficult to build an application without dependencies, but I've taken to the idea of statically linking wherever possible. Tom "Giovanni Dicanio" <giovanniDOTdicanio(a)REMOVEMEgmail.com> wrote in message news:O246S9v4KHA.3712(a)TK2MSFTNGP04.phx.gbl... > "John H." <oldman_fromthec(a)yahoo.com> ha scritto nel messaggio > news:e19781c3-0328-44f6-8ead-23a8c91d1721(a)11g2000yqr.googlegroups.com... > >>> Also; if I need to take DLL's with me to run my dialog, how can I tell >>> what >>> DLL's I need? >> >> Try searching for a MS application called "dependency checker". You >> will probably be surprised at the number of libraries you are >> dependent on. > > http://www.dependencywalker.com/ > > Giovanni > >
From: Joseph M. Newcomer on 23 Apr 2010 21:51 Generally, Microsoft has abandoned the concept that every release of the MFC library will be backward-compatible with all earlier releases. They did this with MFC42.DLL, that worked for many years and required immense expense and complexity to use. So if you have DLLs built with VS < .exe version, you can safely assume that none of your code will ever work correctly. If, by some miracle, it does, this is to be considered a fortuitous accident at best. But I wouldn't bet a product release on this assumption. joe On Fri, 23 Apr 2010 09:39:05 +0200, Oliver Regenfelder <oliver.regenfelder(a)gmx.at> wrote: >Hello, > >David Ching wrote: >> Sure, it's automatic for all your projects built with VS 2005/2008 using >> a manifest (the default). The manifest built into your .exe gives the >> exact version of the C Runtime, ATL, and MFC DLL's, and your .exe won't >> load if those DLL's (or updated ones) are found. > >Would a VS2008 build fall back to using app-local dll's if the manifest >is removed from the executable, if that is actually possible? > >Best regards, > >Oliver Joseph M. Newcomer [MVP] email: newcomer(a)flounder.com Web: http://www.flounder.com MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Hector Santos on 24 Apr 2010 23:04 JCO wrote: > VS 2008; C++ > When creating a dialog application using MFC, I have the option to: > 1. Use MFC in a Shared DLL > 2. Use MFC in a Static Link DLL > > Can someone tell me the difference in the two? > Can I change from one to the other while I'm still have programming to do? > Will one of these options allow my Released Version of my Executable to > run on another computer alone (without transferring a DLL to the other > computer)? > > Also; if I need to take DLL's with me to run my dialog, how can I tell > what DLL's I need? Just a small note beyonds what others already noted. There are two types of DLLs: implicit explicit Implicit are the ones that your EXE has a static link to a DLL. Explicit are the ones that your EXE will dynamically loaded at run time. These applications use LoadLibrary() and GetProcAddress() to dynamically link to a DLL. You can get the implicit links using the DUMPBIN command: DUMPBIN /IMPORT your_program.exe This will report the *.DLLs that your application needs to start. But to get the EXPLICIT DLLs, the EXE needs to actually run so the LoadLibrary() commands can be called. This is what the popular utility DEPENDS does very well by running and profiling the EXE. DEPENDS can be downloaded from Microsoft http://go.microsoft.com/fwlink/?linkid=132640 DEPENDS is a great tool to have (A MUST for all programmers), but DUMPBIN /IMPORT gives you the DLLS that are required for your EXE to even start, so thats a very quick way to see what is required to even load the EXE. -- HLS
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 Prev: Property Sheet Problem Next: CToolTipCtrl pointer or non-pointer member variable |