質問: 数年前に組んだCのコンパイルが通らなくなってしまい困っています。 どうやら、 ``` #include "mbctype.h" #include "stdafx.h" ``` のコンパイルが通らないようです。 こちらの2つは使うのに何か条件があるのでしょうか? よろしくおねがいします。 --- コメントによるとエラーメッセージは ``` $ gcc a.c a.c:3:10: fatal error: 'mbctype.h' file not found #include ^ 1 error generated. ``` とのこと。
回答: > > コンパイルが通らない > > > であれば質問文にエラーメッセージを加えるべきですし、そのエラーメッセージで検索し原因を探るべきです。 以下は質問文から読み取れる問題について言及しますが、真の問題が何であるかはこの回答ではなくエラーメッセージを確認してください。 `#include`ディレクティブ.aspx)には`引用符形式`と`山かっこ形式`があり意味が異なります。その上で``は`_mbbtype`関数.aspx)などで使いますがドキュメントにあるように`山かっこ形式`を使用しなければなりません。 `stdafx.h`というファイル名はVisual C++においてプリコンパイル済みヘッダーに用いられる既定の名称です。仮にプリコンパイル済みヘッダーに絡む問題によりコンパイルが通らないのであれば正しく構成する必要があります。 少なくともプリコンパイル済みヘッダー行`#include "stdafx.h"`より前に`#include`ディレクティブなどを記述してはいけません。