2013-05-07 49 views
6

Qt CreatorでQt5を使用しています。Qt5Widgets.dllが存在しません

私のプログラムは、私はQtの創造主自身からそれを起動し、私はdebugまたはreleaseフォルダから.exeファイルを実行しようとした場合、私はエラーを取得する場合はうまく動作します:

The program can't start because Qt5Widgets.dll is missing from your computer. 
Try reinstalling the program to fix this problem. 

私は」 Qtの新機能で、何が原因なのか分からず、googleからまともな結果を見つけられませんでした。 私は既にQt5(クリエイターを含む)を再インストールしようとしましたが、助けにはなりませんでした。


.projファイルには、次のようになります。

TEMPLATE = app 
TARGET = test 

QT += \ 
    core \ 
    gui \ 
    widgets \ 

SOURCES += \ 
    main.cpp 

そして、私のmain.cppは、次のようになります

#include <QApplication> 
#include <QWidget> 

int main(int argc, char **argv) 
{ 
    QApplication app(argc, argv); 
    QWidget window(); 
    window.show(); 
    return app.exec(); 
} 

そして、それは私が持っているすべてのコードです。

私は次のようにあなたが理由を理解するのに役立つことを願っています

答えて

1

あなたはQtので構築されたアプリケーションを起動すると、あなたのコード(Qt5Widgets.dll、Qt5Coreで使用されるQtのモジュールに必要なすべてのDLLを持っている必要があります.dllなど)をアプリケーションと同じフォルダに保存します。

このメソッドを実行する前にプログラムを実行する必要があるため、この目的でaddLibraryPath()を使用することはできません。同じフォルダー内に必須ライブラリーが見つからなければ実行できません。

また、使用するモジュールに応じてQt5プログラムを実行するには、他のライブラリが必要です。 Windows固有のものはStatically linked app with QT gives error: Failed to load platform plugin "windows"です。

GUIに画像ファイルをロードする場合は、他のライブラリ: - plugins/qjpeg.dllなどが必要な場合もあります。 - データベースを使用している場合はsqldrivers/qsqlite.dllなど これらの場合、addLibraryPath()を使用して特定の場所を設定できますが、これを避けてできるだけ多く入れてくださいアプリケーションのすぐ近くにある適切なサブフォルダに直接配置します。

ウェブ上の各Qt5モジュールに必要なライブラリに関する情報があります。お気に入りのプログラムのインストールフォルダを見て、どのライブラリが必要かを確認することもできます。

1
+0

あなたの答えをありがとう、これは解決策のようです。しかし、どのパスを 'addLibraryPath()'に使うべきですか? 'C:\ Qt \ Qt5.0.2 \ 5.0.2 \ msvc2012_64 \ bin'と' C:\ Qt \ Qt5.0.2 \ Tools \ QtCreator \次のディレクトリにある2つの異なる 'Qt5Widgets.dll'ファイルがあります。ビン。 –

+0

プロジェクトを構成するときに、どのqtが使用されるかを指定します。あなたのケースでは、私は思う、それはC:\ Qt \ Qt5.0.2 \ 5.0.2 \ msvc2012_64 \ bin – AnatolyS

+0

リンクがとても素敵なエラー404につながると思います。 – BaldDude

関連する問題