10

Qt Creator で Qt5 を使用しています。

私のプログラムは、Qt Creator 自体から起動すると問題なく動作しますが、またはフォルダー.exeからファイルを実行しようとすると、エラーが発生するだけです。debugrelease

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();
}

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

4

2 に答える 2

3

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

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

使用するモジュールによっては、Qt5 プログラムを実行するために他のライブラリも必要です。Windows 固有のものはここにリストされていますQT を使用して静的にリンクされたアプリでエラーが発生します: Failed to load platform plugin "windows"

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

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

于 2013-05-08T10:22:11.337 に答える
1

以下がその理由を理解するのに役立つことを願っています: http://doc.qt.io/qt-5/deployment.html

于 2013-05-07T19:58:55.167 に答える