qsqlpsql.dll
を動的にリンクできない可能性があります LoadLibrary
を呼び出すときのファイル プログラムがそのドライバーを要求した後、その上に。 LoadLibrary
ターゲットDLLが欠落している場合とターゲットDLLが依存するDLLの1つが欠落しているか、ロードできない場合と同じエラーコードを返します。 。そのため、Qtは「ライブラリが見つかりません」というエラーを受け取り、「ああ、PgドライバーはこのQtビルドに含まれていてはならない」と想定します。実際には、依存関係の問題、ライブラリの互換性の問題などが原因で、Qtが存在し、ロードに失敗します。
ロードに失敗する理由を特定するには、Frank Osterfeldが提案したように、 Dependency Walker(depends.exe
)
。 64ビットマシンで32ビットコードをコンパイルする場合は、32ビットの依存関係ウォーカーを入手する必要があります。
qsqlpsql.dll
の依存関係があるため、失敗する可能性が非常に高くなります。 欠落-libpq.dll
のいずれか 、またはlibpq
のライブラリの1つ ビルドが必要です。ディペンデンシーウォーカーはこれを分離するのに役立ちます。 64ビットのlibpq.dll
を読み込もうとしている可能性もあります。 32ビットプログラムの場合、またはその逆。
また、ProcessMonitorでプログラムをトレースして実行すると有益な場合があります。これにより、特に、どのファイルを開こうとしたり調べたりしようとするかについて多くの詳細が生成され、予期しないPATH
などを追跡するのに役立ちます。 問題。
それでも問題が解決しない場合は、デバッガーを使用してステップスルーするオプションが常にあります。