Entrada
Bom dia Você está familiarizado com a exceção 0xc00007b ? Desde a transferência do mecanismo de raios X para x64, existem muitos relatórios sobre o problema 0cx00007b. Em 90% dos casos, esse era um problema com a falta de um driver OpenAL de 64 bits.
Ideias para resolver o problema
Inicialmente, respondíamos constantemente que era necessário instalar o driver. Depois de alguns meses, escrevemos uma FAQ sobre inicialização e possíveis problemas. Mas esses relatórios não desapareceram, as pessoas em nosso CIS não gostam particularmente de ler, por isso decidimos resolver o problema radicalmente: instale o driver embaixo do motor, se não houver nenhum.
Etapa 1: iniciar o programa quando a dll não for suficiente
A maneira mais fácil de conectar bibliotecas entre si é construir ( comentário pragma ), mas, no nosso caso, isso não pode ser feito.
Então, passo 1: vinculação explícita ou oi extern "C"
.
O que precisamos: desatar o exe das bibliotecas de mecanismos. Isso é feito da seguinte maneira:
1) Nós executamos a função para iniciar o mecanismo na biblioteca dinâmica:
extern "C" --
2) Chame a função do nosso exe:
using RunFunc = void(__cdecl*)(const char*);
Etapa 2: verificação do driver
Bem, tudo é simples, temos um sistema (talvez alguém se surpreenda, mas o sistema operacional nem sempre está na seção C :) e verifique a dll na pasta do driver:
Etapa 3: arquivo não encontrado
Antes de tudo, precisamos solicitar ao administrador os direitos do usuário, porque terá que trabalhar com o diretório do sistema:
Etapa 2: copiar a biblioteca para o sistema
{ ...
Conclusão
Obviamente, o método é muito engraçado, mas adequado para esses projetos. Boa sorte a todos!