Por que meu programa não será executado a menos que Visual Studio 2008 está instalado?
-
20-08-2019 - |
Pergunta
Eu escrevi um jogo que usa GLUT, OpenGL e FMOD. O problema é que o binário não será executado, a menos que Visual Studio 2008 está instalado no computador.
Por que isso?
Solução
O mais provável é que você está ligando com versões DLL de tempo de execução do C / C ++. Vá para propriedades do projeto -> C ++ -.> Geração de código, e definir Runtime Library para não ser um dos tipos "DLL"
Como alternativa, você pode conectar-se a tempos de execução DLL, mas então você tem que redistribuir o tempo de execução com a sua aplicação.
MSDN tem mais informações sobre vários aspectos do C ++ a implementação do aplicativo: http: // msdn.microsoft.com/en-us/library/zebw5zk9.aspx
Além disso, Dependency Walker (Depends.exe) irá mostrar quais bibliotecas o executável depende. Ele vem com algumas versões do Visual Studio também.
Outras dicas
Você quer dizer por que é Microsoft Visual C ++ 2008 Redistributable Package (x86) necessário?
Este pacote instala runtime componentes de tempo de execução C (CRT), Padrão C ++, ATL, MFC, e OpenMP bibliotecas MSDIA. Para bibliotecas que suporte lado-a-lado modelo de implantação (CRT, SCL, ATL, MFC, OpenMP) são instalado dentro do conjunto nativa cache, a pasta também chamados WinSxS, em versões do sistema operacional Windows que suporte lado-a-lado conjuntos.
Porque eles não estão instalados em todas as janelas por padrão, especialmente os que expedidos antes VS 2008.
Mesmo para
cout << "Hello, World" << endl;
Você precisa de uma biblioteca, que neste caso, a biblioteca padrão C ++.
Bem-vindo ao maravilhoso mundo da implementação do aplicativo.
Executar a ferramenta depende em seu executável e ele irá dizer-lhe que DLLs você precisa também copiar juntamente com o seu EXE.
Este programa pode ajudá-lo a encontrar o que dlls (se houver) estão faltando no computador que não será executado em
Apenas as versões de lançamento do tempo de execução C e C ++ DLLs da biblioteca padrão são instalados com o Windows por padrão. Instalando Visual Studio, adicionalmente, instalar as versões de depuração.
Certifique-se a versão que você estiver implantando é construído inteiramente no modo de versão.
Tente compilar no modo de versão, e certifique-se de que todas as DLLs necessários estão instalados na máquina de destino. Ele funciona para mim.
Você tem dependências em bibliotecas de depuração?