O Visual Studio 2013 MSVCR110d.dll está faltando

4

Eu não tenho certeza se isso pertence ao SuperUser ou StackOverflow, mas não parece ser um problema de codificação, então eu vou correr com isso.

Comecei a trabalhar em um jogo C ++ usando o Visual Studio 2013 utilizando FreeGLUT e FreeImage. Eu posso compilar e executá-lo na minha área de trabalho sem problema, mas quando eu tento compilar o mesmo código no meu laptop eu recebo o erro "msvcr110 d .dll está faltando no seu computador." Depois que há cerca de 50% de chance de que o Visual Studio congele, e sou forçado a reiniciar o computador, pois o Gerenciador de Tarefas não pode interromper o processo (outro problema em que ainda estou trabalhando).

As pesquisas do Google me disseram para instalar o Visual C ++ Redistributable 2012, no entanto, isso já estava instalado neste laptop (x86 e x64) e na reinstalação (de link ) não ajudou em nada. Eu também tentei instalar o Visual C ++ Redistributable 2013 (x86 e x64, de link ), mas sem sucesso. Ambos os links possuem um download de ARM. Eu não tenho certeza do que é isso, e tentar instalá-lo resulta em um pop-up dizendo que eu não posso instalá-lo nesta versão do Windows (que é o Windows 8), então eu estou supondo que eu não preciso disso .

Examinando a pasta C: \ Windows \ SysWow64, consigo ver msvcr110.dll, mas não msvcr110 d .dll. Parece que a versão de lançamento foi instalada, mas não a depuração. Eu vejo msvcr120 d .dll, que deve ser a versão 2013 certo? Então, o Visual Studio 2013 não deveria estar usando isso, em vez de msvcr110 d .dll?

A execução de um projeto padrão do C ++ HelloWorld não tem esse problema, então imagino que tenha algo a ver com o FreeGLUT ou o FreeImage. No entanto, ele compila e roda na minha área de trabalho sem problemas, então acredito que tudo está codificado & vinculado corretamente. Eu adicionei os diretórios de inclusão, diretórios de biblioteca (ambos os quais foram depurados) e adicionei opengl32.lib & FreeImaged.lib como dependências adicionais.

Instalar o Visual C ++ Redistributable não ajudou, então existe outra maneira de resolver esse problema? O Visual Studio 2013 deve estar usando msvcr110d.dll, ou ele deve estar usando msvcr120d.dll? Preciso instalar o ARM na página de download do MSVCR? Estou usando o Windows 8 de 64 bits (novo laptop também, então não acho que haja problemas de corrupção). Agradecemos antecipadamente por sua ajuda.

Doug

    
por Doug 19.12.2013 / 00:25

2 respostas

4

" A execução de um projeto padrão do C ++ HelloWorld não tem esse problema, então imagino que tenha algo a ver com FreeGLUT ou FreeImage. "

Eu acho que você está no caminho certo. Parece que FreeGLUT ou FreeImage estão sendo compilados no modo de depuração, e é por isso que as versões "D" estão sendo solicitadas. Certifique-se de usar compilações de versões de suas dependências.

    
por 19.12.2013 / 00:49
0

Se você estiver tentando depurar remotamente (ou possivelmente em outros cenários), talvez seja necessário alterar a configuração da biblioteca de tempo de execução a partir da DLL de depuração multithread (/ MDd) - > Depuração multithread (/ MTd).

Você pode conseguir isso (no VS2012) clicando com o botão direito do mouse em seu projeto, selecionando Properties - > C++ - > Code Generation e, em seguida, puxando para baixo a opção Runtime Library e modificando-a para uma das configurações sem "DLL" (escolha sua configuração com base no modo de depuração ou geração do modo de liberação).

Espero que isso ajude.

    
por 11.04.2014 / 19:59