Entri
Hari yang baik Apakah Anda terbiasa dengan pengecualian 0xc00007b ? Sejak transfer mesin X-Ray ke x64, ada banyak laporan tentang masalah 0cx00007b. Dalam 90% kasus, ini adalah masalah dengan kurangnya driver OpenAL 64 bit.
Gagasan untuk memecahkan masalah
Pada awalnya, kami terus-menerus menjawab bahwa Anda perlu menginstal driver, setelah beberapa bulan kami menulis FAQ tentang startup dan kemungkinan masalah. Tapi laporan seperti itu tidak hilang, orang-orang di CIS kami tidak terlalu suka membaca, jadi kami memutuskan untuk menyelesaikan masalah secara radikal: instal driver dari bawah mesin, jika tidak ada.
Langkah 1: memulai program ketika dll tidak cukup
Cara termudah untuk menghubungkan perpustakaan satu sama lain adalah membangun ( komentar pragma ), tetapi dalam kasus kami ini tidak dapat dilakukan.
Jadi, langkah 1: tautan eksplisit atau hi extern "C"
.
Yang kita butuhkan: buka arsip dari pustaka mesin. Ini dilakukan dengan cara berikut:
1) Kami mengeluarkan fungsi untuk menghidupkan mesin di perpustakaan dinamis:
extern "C" --
2) Panggil fungsi dari exe kami:
using RunFunc = void(__cdecl*)(const char*);
Langkah 2: cek driver
Yah, semuanya sederhana, kita mendapatkan sistem satu (mungkin seseorang akan terkejut, tetapi OS tidak selalu di bagian C :) dan periksa dll di folder driver:
Langkah 3: file tidak ditemukan
Pertama-tama, kita perlu menanyakan hak pengguna kepada administrator, karena harus bekerja dengan direktori sistem:
Tahap dua: salin perpustakaan ke sistem
{ ...
Kesimpulan
Tentu saja, metode ini sangat lucu, tetapi cocok untuk proyek semacam itu. Semoga beruntung untuk semuanya!