我为计算器编写了lex和yacc程序。在yacc程序中,我已经将math.h
包括在sin,cos,pow等算术运算中用于编译我在下面的步骤中使用
lex计算器。
yacc -d calculator.y
cc -c lex.yy.c y.tab.c
cc lex.yy.c y.tab.c -o a.out
它给了我这个错误:
y.tab.c:undefined reference to 'pow'
答案 0 :(得分:3)
将-lm
添加到第二个cc
命令行:
cc lex.yy.c y.tab.c -o a.out -lm
pow
函数在名为m
的库中定义(这是数学的简写),并且此库必须链接(-l
)到可执行文件,以便该函数在运行时可用。