【问题标题】:How do I link math library to my compiler in codeblocks?如何在代码块中将数学库链接到我的编译器?
【发布时间】:2020-12-21 15:06:09
【问题描述】:

似乎无法找到数学库。 编译此程序时出错:

undefined reference to'pow'

我对此一无所知。

#include <stdio.h>
#include <math.h>

int main() {
    int number1, temp, number2 = 0, x, count = 0;
    printf ("Enter number: ");
    scanf("%d", &number1);

    x = number1;
    while (number1 > 0)
    {
        temp = number1 % 10;
        number2 = (number2 + temp)*pow(10, count++);
        number1 = number1/10;
    }

    printf("The original number order was: %d\n", x);
    printf("\n");

    printf("The reverse number order is: %d\n", number2);
    return 0;
}

【问题讨论】:

标签: c


【解决方案1】:

您需要在编译程序时链接数学库,如下所示:

gcc test.c -lm

Here 很好地解释了为什么 需要它。

【讨论】:

  • 如何到达可以编译的终端: gcc test.c -lm ?
  • 你使用什么操作系统?
  • 我使用的是 Ubuntu 20.04。
  • 终端在 Ubuntu 的应用程序列表中。您也可以键入 Ctrl-Alt-T 来调用它。
  • 谢谢。最后,我可以运行终端并获得 O/p。
【解决方案2】:

如果您在基于 Debian 的 Linux 环境中使用 GNU GCC 编译器,请将“libm.a”添加到“链接库”中。

  1. 点击“项目”
  2. 点击“构建选项..”
  3. 点击“链接器设置”标签
  4. 点击“链接库”中的“添加”按钮
  5. 输入“libm.a”并点击“确定”
  6. 再次单击“确定”(这次是在“项目构建选项”窗口)

并确保你有#include

【讨论】:

    猜你喜欢
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 2021-06-07
    • 1970-01-01
    • 2021-03-08
    • 2018-07-11
    相关资源
    最近更新 更多