在我的機器上(運行cygwin的Windows)它編譯正確。 Flex是版本2.5.35,野牛是版本2.3爲什麼我的flex/yacc編譯器不能在另一臺linux機器上正確編譯
在linux機器1上它編譯正確。 Flex是2.5.4版本,bison是1.875c版本。
在linux機器2上它編譯不正確。 Flex是2.5.4版本,bison是2.3。
通過查看flex/bison版本號可以預期,如果它在我的機器上正確編譯,它將在機器2上正確編譯,但事實並非如此。
Linux計算機2,當我運行gcc -c y.tab.c的,我得到以下警告幾次
警告:內建函數「printf的」不兼容的隱式聲明
當我運行下面的
的gcc -o cminus y.tab.o lex.yy.o -ly -lfl
我碰到下面的錯誤。
gcc -o cminus y.tab.o lex.yy.o -ly -lfl
/usr/bin/ld: cannot find -ly
collect2: ld returned 1 exit status
make: *** [cminus] Error 1
這個錯誤可以通過取出在GCC的-ly選項,這樣的程序編譯被刪除,但它確實我的機器和其他Linux機器上編譯的程序無法正常工作。
什麼可能導致問題?
缺少的#include是 –
quark
2009-11-22 20:55:32
是啊,出於某種原因計算器不顯示在說在我的答案中引用 –
2009-11-23 05:35:10