Partager via


Fonctionnement des dépendances d'une application Visual C++

Mise à jour : novembre 2007

Une méthode permettant de déterminer les bibliothèques Visual C++ dont dépend votre application consiste à ouvrir l'Onglet Général dans la boîte de dialogue Pages de propriétés de votre projet. Vous pouvez voir, par exemple, que votre projet utilise les bibliothèques MFC et ATL. Si vous avez choisi d'Utiliser MFC dans une bibliothèque dynamique, votre application dépend à l'exécution de DLL MFC, telle que mfc80.dll. Si votre application n'utilise pas MFC ou ATL, elle peut encore dépendre de la bibliothèque CRT si vous avez choisi DLL de débogage multithread (/MDd) pour la Bibliothèque Runtime dans l'onglet Génération de code de la branche C/C++ des Propriétés de configuration.

La manière la plus complète de déterminer les DLL dont dépend votre application consiste à ouvrir celle-ci à l'aide du Dependency Walker (depends.exe) qui est fourni avec Visual C++. Le fichier depends.exe est installé dans \Microsoft Visual Studio 2005\Common7\Tools\bin. Notez que depends.exe n'est installé que si vous choisissez l'outil Kit de développement logiciel (SDK) Windows Win32 qui fait partie de la catégorie Outils Visual C++ de l'installation personnalisée de Visual C++.

En utilisant depends.exe ou l'utilitaire DUMPBIN avec l'option /DEPENDENTS, vous pouvez afficher la liste des DLL qui établissent un lien statique avec votre application et la liste des DLL à chargement différé de l'application.

Pour savoir quelles DLL, telles que des contrôles ActiveX, sont chargées dynamiquement, utilisez la fonctionnalité de profilage de depends.exe. Testez ensuite votre application jusqu'à ce que vous soyez sûr que tous les chemins d'accès de code ont été testés. Une fois la session de profilage terminée, depends.exe indique quelles DLL ont été chargées dynamiquement.

Lorsque vous utilisez depends.exe, vous devez savoir qu'une DLL peut être dépendante d'une autre DLL ou d'une version d'une DLL spécifique. Vous pouvez utiliser depends.exe soit sur l'ordinateur de développement, soit sur un ordinateur cible. Sur l'ordinateur de développement, depends.exe signale les DLL requises pour prendre en charge une application. Si vous rencontrez des difficultés pour qu'une application s'exécute sur un ordinateur cible, vous pouvez copier depends.exe sur cet ordinateur, puis ouvrir l'application dans depends.exe. Depends.exe indique quelles DLL de l'application sont absentes, ou présentes mais dans une version incorrecte.

Une fois que vous disposez de la liste complète des DLL dont dépend votre application, vous pouvez déterminer les DLL que vous devez redistribuer avec votre application lors du déploiement vers un autre ordinateur. Dans la plupart des cas, il n'est pas nécessaire de redistribuer les DLL système, mais vous devrez peut-être redistribuer les DLL des bibliothèques Visual C++. Pour plus d'informations, consultez Détermination des DLL à redistribuer.

Voir aussi

Autres ressources

Déploiement (C++)