5

Widows 7でQtライブラリを使用して簡単なダイアログを作成しました。次に、その.exeファイルを友人に送信して、友人が使用できるようにする必要があります。しかし、彼がそれを使用できるように、私も約10個の.dllファイルを送信する必要があります。私はそれらをすべて見つけて送信しましたが、彼はそれを開くことができません。「VisualC++ランタイムエラー」があります。率直に言って、他のコンピューターでも同じエラーで開くことができません。私はたくさんグーグルして、次のような別の答えを見つけました:

  1. DirectXを更新する
  2. Microsoft Visual C ++ 2010再頒布可能パッケージ(vcredist_x86.exe)をインストールします

しかし、これはすべて私を助けません。だから私の質問は:

  1. そのダイアログを作成したコンピューターで動作するのはなぜですか。つまり、何が問題なのですか。
  2. 購入したものをすべて1つのファイルに簡単に.dllコンパイルして取り除くにはどうすればよいですか?.exe
4

2 に答える 2

5

1.そのダイアログを作成したコンピュータで動作するのはなぜですか?つまり、何が問題なのですか?

コンピューターに VC ランタイムがインストールされているためです。

この問題を解決する方法は 2 つあります。

a. MultiThreadDLL(MTD) の代わりに MultiThread(MT) を使用して QT と exe をコンパイルする必要があります。

b.友人のコンピューターに vc ランタイムをインストールします。

2.購入した .dll をすべて削除して、1 つの .exe ファイルに簡単にコンパイルするにはどうすればよいですか?

すべての QT dll をライブラリ (Whit MT) にビルドし、exe をそれらのライブラリにリンクする必要があります。

時間がかかります。また、Windows dll も必要です。とにかく、Qt を静的にリンクしたい場合は、これらのリンクが非常に役立つ場合があります。

  1. http://qt-project.org/wiki/How_to_build_a_static_Qt_version_for_Windows_with_gcc
  2. http://qt-project.org/doc/qt-4.8/deployment-windows.html
于 2013-03-01T09:12:53.150 に答える
1

このリンクは、解決策を見つけるのに役立ちます。 https://bugreports.qt-project.org/browse/QTBUG-28766

「C:\ Qt \ Qt5.0.1 \ 5.0.1 \ mingw47_32 \ bin」ディレクトリ内のすべてのdllをコピーしましたが、「platforms/qminimal.dll」と「platforms/qwindows.dll」をに追加するとすべて解決しました。 exeプログラム。

于 2013-03-21T14:47:12.557 に答える