得到错误y.tab.c :(。text + 0x543):未定义引用`pow'

时间:2014-09-13 06:31:42

标签: lex

我为计算器编写了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'

1 个答案:

答案 0 :(得分:3)

-lm添加到第二个cc命令行:

cc lex.yy.c y.tab.c -o a.out -lm

pow函数在名为m的库中定义(这是数学的简写),并且此库必须链接(-l)到可执行文件,以便该函数在运行时可用。