2017-01-13 30 views
0

VS2015 mfcプロジェクト。 QT5Widgets.dllVS C++ LoadLibraryは常にnullを返します

CString sPath("M:\\ParseDLL\\Qt5Widgets.dll"); 
HMODULE hm = LoadLibrary(sPath); 

HMをロードしようとすると、常にnullです。私はキャラクターセット(ユニコード、マルチバイト)を変更しようとしました、パステキストの前に_T、Lを使用して、32から64に勝利を変更しました。 GetlastErorrコード126は、「指定されたモジュールが見つかりませんでした」と伝えます。 Dllはこのパスにあります。何か案は?

+4

依存関係ビューアを使用してDLLを検査しましたか?そのDLLは、ロードできない別のDLLに依存している可能性があります。 – Bathsheba

+0

依存関係ビューアは実行中のアプリケーションのプロファイルを作成し、発生したときに 'LoadLibrary'呼び出しをトラブルシューティングすることもできます。 – MSalters

+0

@void:質問全体を読むことができます。 – MSalters

答えて

3

Ttは欠落しているDLLのようです。 M:\ParseDLL\Qt5Widgets.dllが存在する場合は、Qt5Widgets(またはQt5Widgetsなどで必要とされるDLLによって必要とされるDLL)に必要なDLLの1つが欠落していることを意味します。

@Bathshebaと同様に、依存性ビューアツールを使用すると、有罪なDLLを見つけるのに役立ちます。

同じフォルダ(またはPATHに)を持っている必要があるクイックチェックリスト

  • 少なくともQt5Core.dllとQt5Gui.dllと同じコンパイラ(バージョンとアーキテクチャ)を使用
  • ことを確認してくださいQtを構築するために使用したものよりもソフトウェアの方がいいです
  • ソフトでデバッグする場合は、Qt DLLのデバッグバージョン(Qt5Widgetsd.dllなど)を使用することもできます。
関連する問題