Compartilhar via


Noções básicas sobre dependências de um aplicativo Visual C++

Para determinar de quais bibliotecas do Visual C++ um aplicativo depende, você pode ver as propriedades do projeto. (Abra o menu de atalho do projeto e escolha Propriedades para abrir a caixa de diálogo Páginas de Propriedades.) Você também pode usar o Dependency Walker (depends.exe), que fornece um panorama mais abrangente das dependências.

Na caixa de diálogo Páginas de Propriedades, você pode examinar várias páginas em Propriedades de Configuração para entender as dependências.Por exemplo, se o projeto usar as bibliotecas MFC e você escolher Uso do MFC, Usar MFC em uma DLL Compartilhada na página Propriedades de Configuração, Geral, o aplicativo dependerá de DLLs MFC, como mfc100.dll, no tempo de execução.Se seu aplicativo não usar MFC, poderá depender da biblioteca CRT se você escolher um valor da Biblioteca em Tempo de Execução de DLL de Depuração Multi-threaded (/MDd) ou DLL Multi-threaded (/MD) na página Propriedades de Configuração, C/C++, Geração de Código.

Um modo mais abrangente de determinar de quais DLLs o aplicativo depende é usar o Dependency Walker (depends.exe) para abrir o aplicativo.Você pode baixar a ferramenta do site do Dependency Walker.

Usando depends.exe, você pode examinar uma lista de DLLs que se vinculam estaticamente ao aplicativo e uma lista de suas DLLs carregadas com atraso.Se você quiser obter uma lista de DLLs carregadas dinamicamente, use o recurso de criação de perfil do depends.exe para testar o aplicativo até ter certeza de que todos os caminhos de código foram usados.Quando você encerra a sessão de criação de perfil, o depends.exe mostra as DLLs que foram carregadas dinamicamente.

Quando você usar o depends.exe, lembre-se de que uma DLL pode depender de outra DLL ou de uma versão específica de uma DLL.Você pode usar o depends.exe no computador de desenvolvimento ou em um computador de destino.No computador de desenvolvimento, o depends.exe relata as DLLs que são necessárias para oferecer suporte a um aplicativo.Se você tiver dificuldade para executar um aplicativo em um computador de destino, copie o depends.exe para ele e abra o aplicativo na ferramenta para que você possa determinar se alguma DLL necessária está ausente ou incorreta.

Quando você souber de quais DLLs seu aplicativo depende, poderá determinar quais precisam ser redistribuídas com seu aplicativo ao implantá-lo em outro computador.Na maioria dos casos, não é necessário redistribuir DLLs do sistema, mas talvez seja necessário redistribuir DLLs para bibliotecas do Visual C++.Para obter mais informações, consulte Determinando quais DLLs para Redistribute.

Consulte também

Outros recursos

Implantando aplicativos de Desktop (Visual C++)