2012-03-05 5 views
0

私のQt DLLの1つでQwtを使用しようとしています。Qt DLLがロードされていません(内部でQwtを使用している場合)

QwtPlotのコンストラクタを内部で呼び出すと、ライブラリがロードされないことがあります。私がコメントアウトすれば、それは読み込まれます。 QwtPlotのコメントが外されたときにDLLが正常に構築されることに注意してください。

私はVisual Studio 2010を使用しています。

ご意見はありますか?

EDIT(コードは内部QWTを持っていないのdllのためだけで正常に動作しても、DLLをロードするコード):ここ

typedef bool (*EntryPointPtr)(); 
HINSTANCE _pDLL; 
EntryPointPtr _pFn; 
_pDLL = ::LoadLibrary("..\\MyDll.dll"); 
_pFn = (EntryPointPtr) ::GetProcAddress(_pDLL, "qtLoader"); 
_pFn(); 
+0

「読み込まない」とはどういう意味ですか?クラッシュしたり、メッセージを伝えたりする...? – Koying

+0

ちょうど読み込まれません。クラッシュしないで、メッセージを与えません。 – Jasko

+1

.dllをロードするコードを少なくとも表示できますか – Koying

答えて

2

問題を解決して、同じことを発生することがあります誰のためのソリューションです。もう一度問題。次のように

は当初、私はプロジェクトの設定を設定します。

  1. VC++ディレクトリ - libフォルダ
  2. をQWTする>パス - >ライブラリディレクトリ - >パスは
  3. VC++ディレクトリsrcフォルダQWTする - >をインクルードディレクトリ
  4. リンカ - >入力 - >追加の依存関係 - > qwtd.libまたはqwt.lib (デバッグモードに応じて)
行われるために必要な何

です:

  1. C/C++ - >一般 - >追加ディレクトリを含める - >パス srcフォルダをQWTする
  2. リンカ - >一般 - >追加のライブラリディレクトリ - >パス libフォルダをQWTする
  3. リンカ - >入力 - >追加の依存関係 - > qwtd.libまたはqwt.lib(デバッグモードによる)

Visual Studioのようなものは、初期オプションを使用して正しくリンクできませんでした。

PS。助けてくれてありがとう。あなたの答えは私を正しい方向に導き、最終的に問題の原因を突き止めるのを助けました。皆さんを尊重してください。

関連する問題