C round函数抛出错误:"未定义引用`round' ..."

时间:2016-09-13 14:35:35

标签: c greedy cs50

我希望有人可以帮助我。我正在通过CS50x工作,正在研究Pset1 - 贪婪。每当我编译代码时,我都会收到以下错误:

/tmp/greedy-46be96.o: In function `main':
greedy.c:(.text+0x95): undefined reference to `round'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

任何帮助将不胜感激。如果问题含糊不清,我很抱歉,我试图深入了解。我在终端中使用 man round ,并在各处搜索,尝试不同的解决方案,但没有任何效果。

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

int main(void)
{
    float owed;
    float change;
    float quarter = 0.25;
    float dime = 0.10;
    float nickel = 0.05;
    float penny = 0.01;

    do {
        printf("How much change is owed?: ");
        owed = GetFloat();

    } while(owed <= 0);

    change = round(owed * 100);
}

我正在使用此命令编译我的代码:

clang -o greedy greedy.c -lcs50

1 个答案:

答案 0 :(得分:1)

编译时,以下内容应该有效:

clang -o greedy greedy.c -lcs50 -lm

这会链接编译器的数学库。