【问题标题】:getting error y.tab.c:(.text+0x543): undefined reference to `pow'得到错误 y.tab.c:(.text+0x543): undefined reference to `pow'
【发布时间】:2014-09-13 06:31:41
【问题描述】:

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

【问题讨论】:

    标签: lex


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    相关资源
    最近更新 更多