Kemungkinan besar gagal untuk secara dinamis menautkan qsqlpsql.dll
file ketika memanggil LoadLibrary
di atasnya setelah program Anda meminta driver itu. LoadLibrary
mengembalikan kode kesalahan yang sama ketika DLL target hilang seperti ketika salah satu DLL yang menjadi sandaran DLL target hilang atau tidak dapat dimuat . Jadi Qt sangat mungkin mendapatkan kesalahan "perpustakaan tidak ditemukan" dan mengasumsikan "oh, driver Pg tidak boleh ada di build Qt ini", di mana sebenarnya ada dan gagal memuat karena masalah ketergantungan, masalah kompatibilitas perpustakaan, dll.
Untuk menentukan mengapa gagal memuat, Anda dapat seperti yang disarankan Frank Osterfeld menggunakan alat seperti Dependency Walker (depends.exe
)
. Jika Anda mengompilasi kode 32-bit pada mesin 64-bit, Anda ingin mendapatkan dependensi walker 32-bit.
Kemungkinan besar akan gagal karena ada ketergantungan qsqlpsql.dll
hilang - baik libpq.dll
, atau salah satu perpustakaan yang libpq
membangun membutuhkan. Ketergantungan walker akan membantu mengisolasi ini. Mungkin juga Anda mencoba memuat libpq.dll
64-bit dalam program 32-bit, atau sebaliknya.
Anda juga mungkin merasa informatif untuk menjalankan program Anda dengan Process Monitor yang melacaknya. Ini akan menghasilkan banyak detail tentang file mana yang coba dibuka/diperiksa, antara lain, dan dapat membantu melacak hal-hal seperti PATH
yang tidak terduga masalah.
Jika Anda masih buntu, selalu ada opsi untuk melangkah dengan debugger.