トラブルシューティング
更新日2001.10.29
このページを見て、ここにあるプログラムをダウンロードして動かしてみようと
すると、いろいろなトラブルに出会うかも知れません。ここでは、いくつかを取
り上げてヒントを上げてみます。
◎makeしようとするとセパレータがない旨のメッセージが出て終わってしまう
(メッセージ例 Makefile:13: *** missing separator. Stop.)
Makefileの実行部は行頭に必ずタブを必要とします。例
$(file) : $(file).o visio.o
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(file) $(file).o visio.o $(o\
この2行目の行頭はスペースでなく、タブでなくてはなりません。ダウンロードしたとき、
この部分がタブでなくスペースに置き変わってしまうことがあります。その可能性がある場合
、この部分を取り除いて、代わりにタブを入れてみてください。
◎make(コンパイル)時にコンパイラからエラーメッセージが多数出る
ソースの行が長い場合、データを取り込むときに行が折り返されて不都合が発生することがあ
ります。変数名の途中で切れるなどしてコンパイルエラーとなったり、シンタックスエラーと
なることがあります。コンパイラの示す行に長い行があるか見て、元の行が折り返されている
と思われたら修復をはかってください。
◎コンパイラの指摘するエラー行を見ると、訳の分らないfor文がある
ソースプログラムをクリックして、画面に見えるようにしていますが、ブラウザは送られてく
るデータがタグ言語で書かれていると想定しています。このため、 < や > などの
不等号記号があると、これをそのまま表示せず解釈しようとします。結果として正しく不等号
が送られてこないだけでなく、ときには数行にわたって、元のプログラムが損なわれることも
あります。不等号を送るテクニックに&とlt や gtを組み合わせる方法があります(例はこの
ページのソースを見れば分ると思います)。しかし、この処理を忘れている場合があります。
お気づきの場合はご連絡ください。
◎makeのときincludeファイルがないというメッセージが出る
これはお使いの計算機の環境にMakefileが適合していないためです。必要なincludeファイル
のあり場所を、使っている計算機に合わせる必要があります。例えば
計算機初心者向け教材 にある初心者のためのMakefile関連事項、プログラム開発アドバイス
などをヒントにしてください。
◎copy & pasteでファイルを取り込もうとしても、何も取りこめない
私が試したときに出た現象です(Macの上でInternet Explorerを動かし、そこからvisio.cをコピーし、
UNIXマシンへBetterTelnetでアクセスして、UNIXマシンへ cat > visio.c としてペーストした)。
大きなファイル(例visio.c)だとバッファサイズが足りなくてこのような現象が出るようです。copy & pasteを小分けにしたらうまく行きました。
質問・連絡は oshima@ipc.tosho-u.ac.jpまで
戻る