Visual Studio で作ったC言語のプログラム を他のPCで実行する
これは何の話?
初学者が、Visual Studio でC言語の学習のためにプログラムつくって、それを他のPCで動かそうとしたら、MSVCR***.dll が見つからなかったため、アプリケーションを開始できませんでした。
みたいなメッセージがでて、困りますよね。
こうしよう
「構成プロパティ」-「C/C++」-「コード生成」を選択して、 右側の「ランタイムライブラリ」を 「マルチスレッド DLL (/MD)」から「マルチスレッド (/MT)」に、もしくは 「マルチスレッド デバッグDLL (/MDd)」から「マルチスレッド デバッグ (/MTd)」に変える。
なんで?
既定の設定(/MD や /MDd) でビルドしたexeは、単独では動作しない。
Visual Studio 20XX の Visual C++ 再頒布可能パッケージ を入れれば動作するんだけど、ビルド時にランタイムをexeに組み込んだ方がらくだよね。
組み込んだ方がexeのファイルサイズは大きくなってしまうけど、ここでは気にしないことにしておく。