2012-03-26 32 views
0

最近、私はLinux上でQtServiceを使用していますが、それは良いですが、vs-2010コンパイラを使用してWindows上で実行しようとすると、コマンドプロンプトで作業していません(出力が表示されず、すぐに終了します)。私はQt Creatorコンソールエミュレータ(アプリケーション出力)でこのプログラムを実行することができ、にある実行がチェックされていないときに動作します。 Qt Creatorを使用している場合でもコマンドプロンプトを使用している場合でも、ターミナルで実行しようとすると動作しません。Qt Creatorでプログラムを実行し、Windowsでコマンドプロンプトをどのように実行するのですか?

なぜそれがQtクリエイターで実行され、ターミナルを実行していないのですか? QtクリエイターとWindowsのコマンドプロンプトでプログラムを実行する違いは何ですか?

+0

Qtライブラリを(QtCore.dll、QtService.dllなど)、Qtプログラムを実行しているディレクトリに配置する必要があります。 –

+0

デプロイメントドキュメントを確認する - http://qt-project.org/doc/qt-4.8/deployment-windows.html –

+0

Qtアプリケーションを配備する方法を知っており、実行可能ファイルのフォルダに必要なDLLを配置します。 Terminal_で_runを使用しない理由は私にとってはまさに問題です。terminal_で_runを使用すると動作しません。これはQtの作成者に関する技術的な質問です。 – softghost

答えて

2

アプリケーションのディレクトリにmingwm32.dll QtCore.dllとその他の依存関係を設定することができます(デバッグモードでDLL-seが非常に大きいため、リリースモードでビルドすることを確認してください)(これは動的リンクと呼ばれます)または、Qtライブラリと静的にリンクすることができます.1つの.exeファイルを持つことができ、Qtライブラリはそのバイナリにバンドルされています。

詳細はhereをご覧ください。しかし、いつでもGoogle itすることができます。

+0

tnxですが、最初に。私は言いました、私はmsvc-2010 _秒を使用します。私はQtアプリケーションをどのようにデプロイするかを知っています(これは依存関係ウォーカーを使用しています)。したがって、あなたの答えは正しくありません。 – softghost

1

可能性1、それは現在の作業ディレクトリ(cwd)に関連しています。単純なQt関数を使用して違いを把握することができます。コマンドプロンプトでは、cwdは現在の作業ディレクトリ(^^)ですが、Qt CreatorではProjects - > Run Settings-> Working directoryを介して設定されています。
可能性2、2つの異なる実行可能ファイルを実行していますか?
特に違いはありません。

+0

私はLinuxで長年働いていましたが、LD_LIBRARY_PATHを設定して適切なライブラリを見つけるたびに、Qt Creatorで** Run Environment **を使用してこの変数を設定しました。しかし、ウィンドウでどのような変数が重要ですか? – softghost

+0

私はこれを忘れています:QtServiceを使用したときに実行ファイルが動作していません。 – softghost

+0

私はそれについては分かりませんbcz私はlinuxに取り組んでいます^^ –

関連する問題