Entrée
Bonjour. Connaissez -vous l' exception 0xc00007b ? Depuis le transfert du moteur X-Ray en x64, il y a eu beaucoup de rapports sur le problème 0cx00007b. Dans 90% des cas, il s'agissait d'un problème lié à l'absence d'un pilote OpenAL 64 bits.
Des idées pour résoudre le problème
Au début, nous avons constamment répondu que vous devez installer le pilote, après quelques mois, nous avons écrit une FAQ sur le démarrage et les problèmes possibles. Mais de tels rapports n'ont pas disparu, les gens de notre CEI n'aiment pas particulièrement lire, alors nous avons décidé de résoudre le problème radicalement: installez le pilote sous le moteur, s'il n'y en a pas.
Étape 1: démarrer le programme lorsque la DLL n'est pas suffisante
La façon la plus simple de connecter des bibliothèques les unes aux autres est de construire ( commentaire pragma ), mais dans notre cas, cela ne peut pas être fait.
Donc, étape 1: lien explicite ou hi extern "C"
.
Ce dont nous avons besoin: détacher exe des bibliothèques de moteurs. Cela se fait de la manière suivante:
1) Nous retirons la fonction de démarrage du moteur dans la bibliothèque dynamique:
extern "C" --
2) Appelez la fonction depuis notre exe:
using RunFunc = void(__cdecl*)(const char*);
Étape 2: vérification du pilote
Eh bien, tout est simple, nous obtenons un système (peut-être que quelqu'un sera surpris, mais le système d'exploitation n'est pas toujours dans la section C :) et vérifiez la DLL dans le dossier du pilote:
Étape 3: fichier introuvable
Tout d'abord, nous devons demander à l'administrateur les droits d'utilisateur, car devra travailler avec le répertoire système:
Deuxième étape: copier la bibliothèque sur le système
{ ...
Conclusion
Bien sûr, la méthode est très drôle, mais adaptée à de tels projets. Bonne chance à tous!