wxWidgets
をUIフレームワークとして使用し、Windows 7マシンでVisual Studio 2010を使用してコンパイルしたアプリケーションがあります。私はwxWidgets
を静的にリンクしています。私のアプリケーションは処理のためにC dllも使用します。C++で開発されたアプリケーションをデプロイする
今、別の新しくインストールしたマシン(Win7)でこのアプリケーションを実行しようとしています。これには開発者環境の設定はありません。私はアプリケーションの実行可能ファイルをコピーし、dllやその他のサポートするテキストファイルをこのマシンにコピーしました。
アプリケーションが起動すると、次のメッセージが表示されます。
The program failed to start because MSVCR100d.DLL is missing from your computer. Try reinstalling the program to fix this problem
。
私のCライブラリがデバッグバージョンを使用していて、Release
モードで問題を解決したことをコンパイルしていると考えました。しかしそれはまだMSVCR100.dll
を求めます。回避策への道は、VC++再頒布可能パッケージをインストールすることだと思います。しかし、それが最良のアプローチであるかどうかはわかりません。
ここに私の質問があります。
- 通常、アプリケーションをどのように展開しますか? VC++再頒布可能パッケージも提供していますか?
- 私はこれを64ビットマシンでコンパイルし、32ビットでテストしています。これでいい?それとも32ビットで別にコンパイルする必要がありますか?
- ランタイムライブラリと静的にリンクできますか?だから、私はDLLと他のファイルを発送することができます。
- 多くのマシンで実行される実行可能ファイルをビルドする際に注意しなければならない他の一般的なことは何ですか?
以下は、関連する可能性のある設定の一部です。
General :
Use of MFC : Use standard windows libraries
Use of ATL : Not using
C/C++ :
Runtime library : Multi-threaded(/MT)
助けてください。
ありがとうございます。私はまた、MinGWでMSコンパイラを完全に避け、GCCを使用することについても読んでいます。それについて意見はありますか? –
@Appu:MSVCコンパイラはかなり甘いです。変更する必要はほとんどありません。 – Puppy
@Appu:私はDeadMGに同意します。その価値があることに気付くなら、GCCを習得すれば、Visual Studioはあなたの人生を何度も簡単にすることができます。私は喜んでどちらかを扱うが、私はむしろちょうど開発者のスタジオを処理するだろう:) – Goz