Eintrag
Guten Tag. Kennen Sie die Ausnahme 0xc00007b ? Seit der Übertragung der X-Ray- Engine auf x64 gab es viele Berichte über das 0cx00007b-Problem. In 90% der Fälle war dies ein Problem mit dem Fehlen eines 64-Bit-OpenAL-Treibers.
Ideen zur Lösung des Problems
Zuerst haben wir ständig geantwortet, dass Sie den Treiber installieren müssen. Nach ein paar Monaten haben wir eine FAQ zum Start und zu möglichen Problemen geschrieben. Aber solche Berichte sind nicht verschwunden, die Leute in unserer GUS lesen nicht besonders gern, deshalb haben wir beschlossen, das Problem radikal zu lösen: Installieren Sie den Treiber unter dem Motor, falls es keinen gibt.
Schritt 1: Starten des Programms, wenn die DLL nicht ausreicht
Der einfachste Weg, Bibliotheken miteinander zu verbinden, ist das Erstellen ( Pragma-Kommentar ). In unserem Fall ist dies jedoch nicht möglich.
Also, Schritt 1: explizite Verknüpfung oder hi extern "C"
.
Was wir brauchen: Exe aus den Engine-Bibliotheken lösen. Dies geschieht folgendermaßen:
1) Wir nehmen die Funktion zum Starten der Engine in der dynamischen Bibliothek heraus:
extern "C" --
2) Rufen Sie die Funktion von unserer Exe auf:
using RunFunc = void(__cdecl*)(const char*);
Schritt 2: Fahrerprüfung
Nun, alles ist einfach, wir bekommen ein System (vielleicht wird jemand überrascht sein, aber das Betriebssystem befindet sich nicht immer im Abschnitt C :) und überprüfen Sie die DLL im Treiberordner:
Schritt 3: Datei nicht gefunden
Zunächst müssen wir den Administrator nach den Benutzerrechten fragen, weil muss mit dem Systemverzeichnis arbeiten:
Stufe zwei: Kopieren Sie die Bibliothek in das System
{ ...
Fazit
Natürlich ist die Methode sehr lustig, aber für solche Projekte geeignet. Viel Glück an alle!