2012-01-03 4 views
1

QTを初めて使用しているので、これは簡単な答えがあると思いますが、それは私には分かりません。私はアプリケーションをQTに移植しています。そのためにQTEditorを使用しました。私のコンパイラはMinGwで、QTのバージョンは4.7.4、OSはWindows 7です。QT(QTEditorを使用した.dllを含む)

コンパイルとリンクはすべてうまくいきます。実行中に0xc0000135の終了コードが表示されます。これは依存関係が見つからないことを意味します。問題の依存関係は、私が自分で作ったCライブラリで、mingwでもコンパイルされているので、バイナリ互換性の問題はありません。さらに、.dllを結果の実行可能ファイルと同じディレクトリに置くと、アプリケーションはうまく動作します。私は何をしないのです

win32:LIBS += C:\Projects_SourceCode\MyLib\Bin\Release\MyLib.dll 
win32:INCLUDEPATH += C:\Projects_SourceCode\MyLib\ 

ここ.PROファイルの関連部分はありますか?コンパイルとリンクは正常ですが、後で実行ファイルが "MyLib.dll"を見つけられません。私はそれをパスに入れないようにしたいと思います。 .dllを検索する場所を実行可能ファイルに許可する方法はありませんか?

私はCodeblocks IDEを使用するのに慣れています。そのようなことをするのは本当に簡単です.QTEditorではこのようなオプションも可能です。どんな助けもありがとう。

+0

これは既に質問されています。 http://stackoverflow.com/questions/718447/adding-external-library-into-qt-creator-projectマニュアルを読むことも検討してください。 –

+0

-Lフラグは、アプリケーションの実行中にシステムがdllを探す場所にも影響しますか?私が知っている限り、これはコンパイルにのみ適用されますが、ここでうまくいきます。 –

答えて

1

実行環境(システム全体ではありません)に対してのみPATH変数に追加できます。プロジェクト画面で実行環境を操作できます。明らかに、これはデバッグのためにのみ有効で、実行可能な実行可能ファイルに対しては機能しません。あなたのアプリを配布するために、メインの実行可能ファイルと同じディレクトリにdllを置くことを検討してください。

dllを探す場所は、少なくとも実行可能ファイルでは書かれていません。システムは最初に実行可能ディレクトリを探してから、PATHディレクトリを調べるので、他の方法では実行できません。どこでdllを探すのかはコンパイルではなく実行の問題なので、qmakeプロジェクトファイルがあなたに役立つことを期待しないでください。

関連する問題