VC++トラブルメモ:開発環境以外で動作しない

自分のPCでは正常にコンパイル、動作もしたのに、
別のPCで動作させようとすると以下のエラーメッセージが出てきました。

エラーメッセージ

いろいろコードを弄ってみましたが…結局VisualStudio(ここでは2008)の設定が必要だった見たいなのでメモしておきます。

どうやらこのメッセージは、DLLが足りない時に出るものらしいです…;
そういう内容で表示してくれよMS…
ちなみにDLLはVSが保有しているもののようです。

解決するには、VSで以下の設定をする必要があります。

まず、
  [プロジェクト]→[○○のプロパティ]
からプロパティページを開きます。

プロパティページの左側にあるメニューから
 [構成プロパティ]→[C/C++]→[コード生成]
を選択し、設定ページを開きます。

設定画面

変更する箇所は
 [ランタイムライブラリ]
だけです。

[ランタイムライブラリ]プルダウンメニューには以下の項目があります。

設定一覧

初期設定だと
  「マルチスレッドDLL(/MD)」か「マルチスレッドデバッグDLL(/MDd)
になっていると思われます。

これを
  「マルチスレッド(/MT)」か「マルチスレッドデバッグ(/MTd)
にしてコンパイルすれば、VSをインストールしていないPCでも正常に動作するようになるかと思います。

ただ、この方法だとVSのDLLをexeに取り込んでしまいexeのファイルサイズが大きくなってしまいます。
どうしてもサイズが気になるなら必要なDLLを探して、exeと別にdllを持たせないといけない…んでしょうか、はて?
試していないのと、Cの理解度がまだ低いので、ちょっとわかりません;



コメント
コメントする








    
この記事のトラックバックURL
トラックバック