我希望有人可以帮助我。我正在通过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
答案 0 :(得分:1)
编译时,以下内容应该有效:
clang -o greedy greedy.c -lcs50 -lm
这会链接编译器的数学库。