2011-01-10 18 views
1

問題がありますが、アプリケーションにはまだMSVCR100.dllとMSVCR100.dllが必要です。Visual Studio 2010とQT 4.7.1静的リンク

QTソースのビルド:

  • セットをQMAKESPEC = win32の-msvc2010
  • のconfigure -platformのWin32-msvc2010 -static
  • NMAKE

私は私のプロジェクトをsetupingていますインストール/ MT/ZIにオプションを設定します。まだ - 私のプロジェクトはMSVCR100.dllとMSVCR100.dllが必要です。あなたはこれらのライブラリのDLLバージョンを使用することになっ及び再配布のサポートが含まれている

+0

スタティックライブラリをビルドするときにリンキングステップがあってはいけません。その代わりに、ライブラリマネージャツール 'lib.exe'はすべての' .obj'ファイルを '.lib'にまとめます。 正確に何を期待していますか? –

答えて

0

のインストール - それは(主にセキュリティアップデートを行うには)いくつかの理由のために、マイクロソフトれる好ましい方法です

私の推測ではあっても-staticでありますQtはdllを使用するランタイムコンポーネントを使用しています(MS機能を使用するwebkitまたはマルチメディアクラスも可能)

+0

依存関係ウォーカーがその理由を説明します。 – MSalters

2

そうであると思います。 QTのドキュメントから

Qtは何を使用しているとき、我々はメモリの問題を経験しているので、これが必要である動的なC/C++ランタイムライブラリにリンク-MD(d)のスイッチを、使用して構築されています。フラグを-MTに変更すると、Qtライブラリの構築方法と矛盾するので、このフラグを自分のアプリケーションには変更しないでください。 "

さらに詳しい情報は

ここで見つけることができます

http://qt-project.org/faq/answer/why_does_a_statically_built_qt_use_the_dynamic_visual_studio_runtime_librar

関連する問題