Основные сведения о зависимостях приложения Visual C++
Обновлен: Ноябрь 2007
Чтобы определить, от каких библиотек Visual C++ зависит определенное приложение, необходимо открыть вкладку Общие в диалоговом окне Страницы свойств определенного проекта. На вкладке может отображаться, что данный проект использует, например, библиотеки MFC и ATL. Если выбирается пункт Использовать MFC в динамической библиотеке, то во время выполнения данное приложение зависит от библиотек DDL MFC, например, mfc90.dll. Если приложение не использует MFC или ATL, оно все равно может зависеть от библиотеки CRT, если на вкладке Создание кода в ветви C/C++ Свойств конфигурации было выбрано значение Многопоточная DLL с возможностью отладки (/MDd) для параметра Библиотека среды выполнения.
Также для определения библиотек DLL, от которых зависит определенное приложение, можно открыть само приложение с помощью обходчика зависимостей (depends.exe), который поставляется с Visual C++. Depends.exe устанавливается в "\Microsoft Visual Studio 2005\Common7\Tools\bin". Обратите внимание, что depends.exe устанавливается только тогда, когда был выбран компонент Win32 SDK для Windows, размещенный в категории средств Visual C++ выборочной установки Visual C++.
С помощью depends.exe или служебной программы DUMPBIN с параметром /DEPENDENTS можно просмотреть список библиотек DLL, которые статически связываются с определенным приложением, а также список библиотек DLL, загружаемых отложенно.
Чтобы увидеть, какие библиотеки DLL, такие как элементы управления ActiveX, находятся в процессе динамической загрузки, воспользуйтесь функцией профилирования depends.exe. Затем проверьте приложение, чтобы убедиться, что были задействованы пути всех кодов. После завершения профилирования depends.exe отображает библиотеки DLL, которые были динамически загружены.
Используя depends.exe, помните, что библиотека DLL может зависеть от другой библиотеки DLL или от ее конкретной версии. Depends.exe можно использовать на компьютере разработчика или на конечном компьютере. На компьютере разработчика depends.exe отражает библиотеки DLL, которые требуются для поддержки приложения. Если при запуске приложения на конечном компьютере возникают проблемы, можно скопировать depends.exe на конечный компьютер и открыть приложение в depends.exe. Depends.exe отражает недостающие библиотеки DLL, а также библиотеки несовместимых версий.
После получения полного списка библиотек DLL, от которых зависит определенное приложение, можно определить, какие из этих библиотек необходимо распространять вместе с приложением при его развертывании на другом компьютере. В большинстве случаев нет необходимости в распространении системных библиотек DLL, однако возможно потребуется распространять библиотеки DLL Visual C++. Дополнительные сведения см. в разделе Определение библиотек DLL для распространения.