[1622] Re:mycalc でエラー発生
投稿者:チャチャ丸
2010/08/20 10:27:08
>管理人の前橋です。はじめまして。
>しばらくこちらを見ていなくて、反応が遅くなりましてすみません。
はじめまして。お返事ありがとうございます。
>ここ↑からダウンロードしたファイルに含まれているmake.batやmake.shを
>使わず、手作業でyacc(bison?)やlex(flex?)も動かしたということでしょうか?
そうですね。bisonとflexを手入力で動かしました。そこではエラーは出ないのですが、
gcc -o mycalc y.tab.c lex.yy.c
の所で以下の様なエラーが表示されます。
/cygdrive/c/DOCUME~1/Temp/ccxzh81W.o:y.tab.c:(.text+0x8e): undefined reference to `__imp__iob'
/cygdrive/c/DOCUME~1/Temp/ccxzh81W.o:y.tab.c:(.text+0xc2): undefined reference to `__imp__iob'
/cygdrive/c/DOCUME~1/Temp/ccxzh81W.o:y.tab.c:(.text+0xed): undefined reference to `__imp__iob'
/cygdrive/c/DOCUME~1/Temp/ccxzh81W.o:y.tab.c:(.text+0x133): undefined reference to `__imp__iob'
/cygdrive/c/DOCUME~1/Temp/ccxzh81W.o:y.tab.c:(.text+0x168): undefined reference to `__imp__iob'
/cygdrive/c/DOCUME~1/Temp/ccxzh81W.o:y.tab.c:(.text+0x1af): more undefined reference to `__imp__iob'
/cygdrive/c/DOCUME~1/Temp/ccrE3OK5.o:lex.yy.c:(.text+0x872): undefined reference to `__errno'
/cygdrive/c/DOCUME~1/Temp/ccrE3OK5.o:lex.yy.c:(.text+0x87f): undefined reference to `__errno'
/cygdrive/c/DOCUME~1/Temp/ccrE3OK5.o:lex.yy.c:(.text+0x899): undefined reference to `__errno'
/cygdrive/c/DOCUME~1/Temp/ccrE3OK5.o:lex.yy.c:(.text+0x1195): undefined reference to `__errno'
/cygdrive/c/DOCUME~1/Temp/ccrE3OK5.o:lex.yy.c:(.text+0x1231): undefined reference to `__errno'
/cygdrive/c/DOCUME~1/Temp/ccrE3OK5.o:lex.yy.c:(.text+0x16fb): undefined reference to `__errno'
collect2: Id returned 1 exit status
make.batを使った場合も同じ部分に「アクセスが拒否されました」と表示されます。
>具体的にどう操作されたのでしょうか。また、そこで何かエラーは出て
>いないでしょうか。
特に変わった事をしたつもりはなかったのですが僕がした操作は、
mycalc.y mycalc.lをc/cygwin/home/user/に作成して
>bison --yacc -dv mycalc.y
>flex mycalc.l
>gcc -o mycalc y.tab.c lex.yy.c
と入力しただけです。
エラーが表示されたのは先ほど記述したインストールの最後に表示されるものだけです。