- ベストアンサー
C言語教室でのstdio.hからのsyntax errorについて
- 10日でおぼえるC言語教室で学習中の方が、stdio.hに関するエラーについて相談しています。
- 調査の結果、C_INCLUDE_PATHとCPLUS_INCLUDE_PATHの設定が必要であることが分かりました。
- エラーの原因やその他の疑問点に対して、具体的な解決策を提案して欲しいとのことです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> 1.書籍にはシステム環境変数pathの設定のみしか書いてありませんでしたが、上記のNO~というエラーが出てしまいます。私の設定の仕方が悪いのでしょうか > 2.C_INCLUDE_PATHとCPLUS_INCLUDE_PATHを追加すると1のエラーは無くなりましたがこれってどういう事なのでしょうか 「No such file or directory」はそのまま、「ファイルまたはディレクトリが見つかりません」です。 MinGW-gccでは、「C_INCLUDE_PATHとCPLUS_INCLUDE_PATH」から、ヘッダファイル(stdio.h等)を検索してきます。 > 3.stdio.hに対してエラーが沢山出ていますが、これって何なのでしょうか 標準のヘッダファイルにエラーが沢山出る事はあまりありませんが、 stdio.hをincludeしている元ファイルの#include <stdio.h>の直前とかに、 記述ミスがある場合、つられて、エラーになる場合があります。 他には、ソースファイル(例えばhello.c)の文字コードがMinGW-gccが対応していない 物になっている時も、stdio.hにエラーがあるようなメッセージが出た事がある 気がします。 > 4.syntax errorが出ているのに実行ができるのは何故なのでしょうか syntax errorが出た場合、実行ファイルは出来ないはずなので、 最初から、exeファイルが有った等の勘違いかもしれませんよ? MinGW-gccは、Windowsアプリをgccで開発したい人には、良い選択だと思いますが、 C言語の基礎学習目的だと、 ・cygwin版のgcc ・Borland C++ Compiler 等の方が向いているかもしれません。 cygwin-gccの方が、環境構築が楽だし、エラーメッセージも一部日本語化されています。
その他の回答 (3)
- asuncion
- ベストアンサー率33% (2127/6289)
何はともあれ、あるがままのソースを見せてください。
お礼
お返事ありがとうございます CD-ROMのコードでもエラーが出ていたのでずっと不思議でしたがフォルダが日本語だったのが駄目だったみたいでした。 お騒がせしました
- m0r1_2006
- ベストアンサー率36% (169/464)
回答 1 と同じだけど, 日本語のフォルダ名やスペースの入ったフォルダ名は全て避けた方がよい. フォルダ名は,8文字以下の半角英数にすべし. (古い非日本語のプログラムを動かすときの鉄則) D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h これがコピペしたエラーメッセージなら, フォルダの区切りが / とバックスラッシュの混合になっていて, 非常におかしい.
お礼
お返事ありがとうございます 鉄則ですか… 言語を学ぶと同時にその周辺も知る必要があるんですね 日本語フォルダを止めたらokでした↑↑ エラーはコピペです。 エラー=一様におかしい と思ってたのでこの文字列もなんだろなぁぐらいにしか見てませんでした… ともあれ、これでスタートが切れます!ありがとうございました
- Yupa3
- ベストアンサー率37% (190/513)
ご質問に対する回答ではないですが、MinGWというコンパイラは日本語のフォルダ名、ファイル名というのは大丈夫なんですか? 私がC言語やっていたときはそういったところで引っかかっていたので。 #今は出来るのかもしれないので、あくまでチェックポイントの一つとして確認してみてください。
お礼
お返事ありがとうございます 言語系は今回初挑戦だったので知りませんでした…こっち方面では使えないものなんですね。 認識できなかったみたいです。
お礼
お返事ありがとうございます >>MinGW-gccでは、「C_INCLUDE_PATHとCPLUS_INCLUDE_PATH」から、ヘッダファイル(stdio.h等)を検索してきます。 そうだったんですか… >>文字コードがMinGW-gccが対応していない物になっている時も 物によって違う事もあるんですね… exeについてはプロンプト上からフォルダを作って確認しましたが出来てしまうみたいでした MinGWは基礎学習には最適というわけでもないんですかね? 少し残念ではありますが折角買った本にはこれで書いてあるのでぼちぼちやっていきます。 今回の原因は日本語フォルダを混ぜてしまった事でした↓↓ お騒がせしました。