VC PlusPlus:VC2019Community コンパイルエラー snprintfが2重定義されている 対処方法のソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[VC PlusPlus]]に戻る == '''概要''' == 新しいVisual Studioを使っていると発生する事がある悲しいエラーです。昔は無かったので、誰かが作った既存のプロジェクトが再定義していることがあります。うまいこと、無効にしましょう。 <syntaxhighlight2 lang="text"> 1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(1933,1): warning C4005: 'snprintf': マクロが再定義されました。 1>$(任意のプロジェクトへのパス名)(行番号): message : 'snprintf' の以前の定義を確認してください 1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(1935,1): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration </syntaxhighlight2> 既存のプロジェクト側でsnprintfを定義している場合は以下のような箇所があるはずです。 <syntaxhighlight2 lang="cpp"> #ifdef _MSC_VER #define snprintf _snprintf #endif </syntaxhighlight2> #indef~#endifで囲われていないパターンもあるかもしれません。 <syntaxhighlight2 lang="cpp"> #if _MSC_VER < 1900 //#ifdef _MSC_VER #define snprintf _snprintf #endif </syntaxhighlight2> VS 2019 以前の場合だけ定義して動かすという意味にするとか、こんな感じに修正しましょう。もっと前のバージョン番号にしなければならないかもしれません。_MSC_VERという文字の上にカーソルを持って行くと、現在使っているVisual Studio C++のバージョン番号が表示されますので、そのバージョン以前が無効になるような数値を指定しましょう。今使っているバージョンでは現行のバージョンに含まれるstdio.h系を使うという意味です。 [[VC PlusPlus]]に戻る
VC PlusPlus:VC2019Community コンパイルエラー snprintfが2重定義されている 対処方法
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ