Como corrigir erros do DirectX e Visual C++ em jogos

Você clica em jogar, aguarda a tela de carregamento e leva uma mensagem de erro com algo como “d3dx9_43.dll not found” ou “vcruntime140.dll is missing”. O jogo simplesmente não abre. Esses dois erros — DirectX e Visual C++ — são responsáveis por uma parcela enorme de chamadas de suporte técnico em PCs com Windows, e a boa notícia é que quase sempre têm solução rápida se você souber onde olhar.

Este guia vai do diagnóstico à correção definitiva, sem atalhos que mascaram o problema. Antes de reinstalar o jogo inteiro ou formatar a máquina, leia isso.

O que são DirectX e Visual C++ e por que eles falham

O DirectX é um conjunto de interfaces de programação da Microsoft que permite a jogos e aplicações multimídia conversarem diretamente com o hardware — placa de vídeo, som, controles. Praticamente todo jogo lançado para Windows usa alguma versão dele, seja DirectX 9, 11, 12 ou variantes como Direct3D. O Visual C++ Redistributable, por sua vez, é um pacote de bibliotecas de tempo de execução produzido pela Microsoft que acompanha programas compilados no Visual Studio. Sem ele instalado na versão correta, o executável do jogo simplesmente não carrega.

A falha acontece por três motivos principais:

  • Arquivo DLL corrompido ou ausente: uma atualização mal-sucedida do Windows, um antivírus agressivo ou uma instalação incompleta pode deletar ou sobrescrever a DLL errada.
  • Versão incompatível: um jogo de 2013 pode exigir o Visual C++ 2010 x86, enquanto você só tem o 2022 instalado. São pacotes diferentes e não são retrocompatíveis de forma automática.
  • Registro corrompido: o Windows perde a referência de onde o arquivo está, mesmo que ele exista no disco.

Tenho visto muitos casos em que o usuário baixa a DLL de um site aleatório e cola em System32. Isso funciona por acaso, mas cria uma bomba-relógio: aquela DLL não passa por atualização automática e pode entrar em conflito com versões futuras.

Outro fator que contribui para essas falhas é a migração entre versões do Windows. Quando você atualiza de Windows 10 para 11, por exemplo, parte dos componentes legados do DirectX não é transferida automaticamente — o instalador do sistema prioriza a versão mais recente. Jogos antigos que funcionavam perfeitamente antes da atualização podem parar de abrir exatamente por esse motivo, sem qualquer relação com o jogo em si.

Leia a mensagem de erro com atenção antes de tudo

Como corrigir erros do DirectX e Visual C++ em jogos
(c) Fábrica de Bugs | Imagem ilustrativa

Antes de sair instalando pacotes, anote exatamente o que o erro diz. A mensagem normalmente contém o nome da DLL ausente, e esse nome revela tudo que você precisa saber:

  • d3dx9_XX.dll → DirectX 9, componente de Direct3D. Precisa do DirectX End-User Runtime Web Installer (legacy).
  • d3dx11_XX.dll → DirectX 11. Geralmente vem com o Windows Update, mas o runtime legacy também resolve.
  • dxgi.dll / d3d12.dll → DirectX 12. Parte do próprio Windows 10/11; atualizar o sistema é o caminho.
  • vcruntime140.dll / msvcp140.dll → Visual C++ 2015-2022 Redistributable.
  • msvcr120.dll / msvcp120.dll → Visual C++ 2013 Redistributable.
  • msvcr110.dll → Visual C++ 2012.
  • msvcr100.dll → Visual C++ 2010.

O número no nome da DLL e o ano do pacote são o seu mapa. Com isso em mãos, o diagnóstico deixa de ser tentativa e erro.

Corrigindo erros de DirectX passo a passo

Para jogos que dependem do DirectX 9 ou 10 — o que inclui boa parte dos títulos lançados entre 2005 e 2015 —, o Windows 10 e 11 não instalam esses componentes por padrão. O sistema já vem com DirectX 12, mas as versões antigas precisam ser instaladas separadamente via runtime legado.

Instalar o DirectX End-User Runtime

Acesse o site oficial da Microsoft e baixe o DirectX End-User Runtime Web Installer (busque por “directx end user runtime download” diretamente no site microsoft.com). Ao executar, ele detecta quais componentes estão faltando e instala apenas o necessário. O processo leva menos de dois minutos. Depois, reinicie o PC e tente abrir o jogo.

Verificar a versão do DirectX instalada

Pressione Win + R, digite dxdiag e pressione Enter. A aba “Sistema” mostra a versão do DirectX. Em Windows 11, você deve ver DirectX 12. Se aparecer algo anterior ou se a ferramenta não abrir, o sistema pode estar com arquivos de sistema corrompidos.

Reparar arquivos de sistema

Abra o Prompt de Comando como administrador e execute:

  • sfc /scannow — verifica e repara arquivos protegidos do Windows.
  • Após concluir: DISM /Online /Cleanup-Image /RestoreHealth — restaura a imagem do sistema via Windows Update.

O SFC leva de cinco a quinze minutos dependendo do disco. Se ele reportar erros que não conseguiu corrigir, o DISM costuma resolver o que sobra. Esse processo corrige silenciosamente muitos problemas de DLL do DirectX sem que você precise identificar o arquivo específico.

Corrigindo erros de Visual C++ passo a passo

Como corrigir erros do DirectX e Visual C++ em jogos
(c) Fábrica de Bugs | Imagem ilustrativa

O Visual C++ Redistributable é distribuído pela Microsoft gratuitamente, mas existe em versões distintas para cada ano de lançamento do compilador — e muitas vezes tanto a versão x86 quanto a x64 precisam estar instaladas, mesmo em sistemas de 64 bits. Jogos de 32 bits em máquinas de 64 bits ainda precisam da versão x86.

Verificar o que já está instalado

Abra Configurações → Aplicativos → Aplicativos instalados e busque por “Visual C++”. Você deve ver vários pacotes: 2010, 2012, 2013, 2015-2022, cada um com x86 e x64. Se algum estiver faltando ou em versão desatualizada, essa é a causa do erro.

Baixar e instalar o pacote correto

No site da Microsoft, a página “Latest supported Visual C++ Redistributable downloads” lista todos os pacotes com links diretos. Instale a versão que o erro indicou. Para segurança, instale sempre tanto o x86 quanto o x64. O pacote 2015-2022 cobre as versões 2015, 2017, 2019 e 2022 em um único instalador — é o mais completo para jogos modernos.

Reparar pacotes corrompidos

Se o pacote já aparece instalado mas o erro persiste, pode estar corrompido. No mesmo menu de Aplicativos, clique no pacote em questão e escolha Modificar → Reparar. Isso revalida todos os arquivos sem precisar desinstalar e reinstalar do zero.

Há casos em que desinstalar todos os pacotes Visual C++ e reinstalar do zero resolve o problema. Faça isso com cautela: remova todos, baixe os pacotes atuais do site da Microsoft (começando pelos mais antigos, de 2010 para frente) e instale em sequência.

Verificar as dependências dentro da pasta do jogo

Muitos jogos distribuídos via Steam, Epic Games ou similares incluem um instalador de dependências dentro da própria pasta. Antes de qualquer outra coisa, procure por pastas chamadas _CommonRedist, DirectX ou Redist no diretório de instalação do jogo. Dentro delas você normalmente encontra:

  • DXSETUP.exe — instala os componentes DirectX específicos que o jogo precisa.
  • vcredist_x64.exe e vcredist_x86.exe — instalam o Visual C++ na versão empacotada pelo desenvolvedor.

Executar esses instaladores diretamente é frequentemente mais rápido do que localizar a versão correta no site da Microsoft, porque o desenvolvedor já selecionou exatamente o que o jogo exige. Se você usa Steam, também existe a opção de verificar a integridade dos arquivos do jogo — a plataforma baixa automaticamente qualquer arquivo corrompido ou ausente, incluindo dependências.

Para jogos na Epic Games Store, a opção equivalente fica em “Gerenciar” → “Verificar”. Na GOG Galaxy, o botão de opções do jogo oferece “Verificar/Reparar arquivos do jogo”.

Jogos instalados fora de uma plataforma — compras antigas, versões físicas digitalizadas ou downloads diretos do site do desenvolvedor — geralmente não têm esse mecanismo de verificação automática. Nesses casos, a pasta Redist é ainda mais importante: se ela existir, execute todos os instaladores presentes antes de tentar qualquer outra solução. Muitos desenvolvedores empacotam versões de DirectX e Visual C++ específicas para o build do jogo, diferentes das versões genéricas disponíveis no site da Microsoft.

Quando o problema persiste: causas menos óbvias

Se você instalou tudo corretamente e o erro continua, o problema pode estar em outro lugar. Tenho visto isso acontecer com frequência em três cenários distintos.

Antivírus bloqueando DLLs

Alguns antivírus tratam DLLs de jogos como suspeitas e as colocam em quarentena silenciosamente. Verifique o histórico de quarentena do seu antivírus e restaure arquivos relacionados ao jogo. Adicionar a pasta do jogo às exceções resolve definitivamente.

Driver de vídeo desatualizado

O DirectX depende do driver da GPU para funcionar corretamente. Um driver muito antigo pode não suportar recursos de DirectX 12 que o jogo exige. Atualize o driver pela GeForce Experience (Nvidia) ou pelo AMD Software (AMD) e teste novamente. Isso é especialmente relevante para erros relacionados a dxgi.dll e d3d12.dll.

Permissões de pasta

Jogos instalados em pastas com permissões restritas podem não conseguir criar ou modificar arquivos de configuração e DLLs temporárias. Clique com o botão direito na pasta do jogo → Propriedades → Segurança e verifique se o seu usuário tem controle total. Se não estiver, veja como diagnosticar problemas de execução de programas no Windows — a lógica de permissões se aplica diretamente aqui.

Windows desatualizado

O DirectX 12 é parte integrante do Windows e é atualizado via Windows Update. Se o sistema estiver com atualizações pendentes há meses, você pode estar sem correções importantes de componentes de sistema. Mantenha o Windows atualizado — esse é um dos casos em que atualizar realmente resolve e não apenas ocupa espaço. Problemas de desempenho após atualizações têm outra causa, que você pode investigar separadamente.

Conclusão

A ordem de ação mais eficiente é: leia a mensagem de erro, identifique a DLL e a versão correspondente, execute o DXSETUP da pasta do jogo se existir, instale os pacotes Visual C++ corretos (x86 e x64) do site da Microsoft e, se necessário, rode o SFC e o DISM. Seguindo essa sequência, mais de 90% dos casos se resolvem sem precisar reinstalar o jogo ou tocar no sistema operacional de forma drástica. Se depois de tudo isso o problema persistir, o driver de vídeo e o antivírus são os próximos suspeitos — nessa ordem.

FAQ

Posso baixar DLLs de sites de terceiros para resolver o problema?

Tecnicamente funciona no curto prazo, mas não é recomendado. Sites de DLL não garantem a integridade do arquivo, que pode estar modificado ou conter código malicioso. Sempre prefira instalar o pacote completo oficial da Microsoft — ele garante a versão correta, assinada e atualizada automaticamente.

Preciso desinstalar versões antigas do Visual C++ antes de instalar novas?

Não necessariamente. Versões diferentes coexistem sem conflito — o Visual C++ 2010 e o 2022 podem ficar instalados ao mesmo tempo. Só faz sentido desinstalar uma versão específica se ela estiver corrompida e você for reinstalá-la do zero.

O erro de DirectX pode ser causado pela placa de vídeo?

Sim, indiretamente. Se o driver da GPU estiver corrompido ou muito desatualizado, o DirectX não consegue se comunicar com o hardware corretamente e gera erros que parecem ser de DLL. Atualizar ou reinstalar o driver resolve nesses casos.

Por que o jogo pede DirectX 9 se meu Windows tem DirectX 12?

O DirectX 12 não é retrocompatível em nível de arquivo com as versões 9 e 10. Os componentes legados (como as DLLs d3dx9) precisam ser instalados separadamente via o DirectX End-User Runtime Web Installer da Microsoft. Isso é normal e não indica problema no seu sistema.

Verificar integridade dos arquivos no Steam resolve erros de DLL?

Resolve quando a DLL faz parte dos arquivos do próprio jogo. Para DLLs de sistema (Visual C++, DirectX runtime), a verificação do Steam não ajuda — você precisará instalar os pacotes manualmente. O processo de verificação cuida apenas dos arquivos dentro da pasta do jogo no diretório Steam.

Esses erros podem aparecer em jogos que funcionavam antes sem nenhuma alteração?

Sim, e esse é um dos cenários mais frustrantes. Uma atualização automática do Windows, uma mudança de política do antivírus ou até a instalação de outro programa podem sobrescrever ou remover uma DLL que estava funcionando. Se o jogo parou de abrir do nada, verifique o histórico de quarentena do antivírus e os logs do Windows Update para identificar o que mudou no sistema recentemente. O Visualizador de Eventos do Windows (eventvwr.msc) registra falhas de aplicativo com o nome do módulo responsável — isso acelera bastante o diagnóstico.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *