おとついの晩ご飯

忘れやすいので忘れたくないことを書いています。

【C++】MSVCP140d.dllなどが見つからないエラーが表示される場合

問題

C++で作成したアプリケーションを動作確認のため他のPCにもっていくと、「MSVCP140d.dllが見つからない」というようなエラーメッセージが表示され、アプリケーションが動かない。


解決

ランタイムライブラリーが実行環境に存在しないので、このようなエラーが発生する。
VisualStudio > プロジェクトのプロパティ > 構成プロパティ > C/C++ > コード生成 > ランタイム ライブラリ の値を「/MT」か「/MTd」に変更する。
f:id:meme1111aMOMO:20210618064536p:plain

これはプロジェクト内にランタイムライブラリを含めるかの設定で、実行環境にランタイムライブラリが存在するのであれば、「/MD」で問題ないが、存在しない可能性があるのであれば変更しておく。

かなり大事な設定だと思うけど、設定場所が奥深くにあるので、初心者は絶対気づけないと思う。。。

設定値 内容
/MT ランタイムライブラリを含める
/MTd ランタイムライブラリを含める(デバッグ用)
/MD ランタイムライブラリを含めない
/MDd ランタイムライブラリを含めない(デバッグ用)


ちなみに

ランタイムライブラリをダウンロードして指定のフォルダ入れてあげることで、動かすこともできます。
▼下記サイトを参考に

qiita.com