2016-09-13 3 views
0

誰かが私を助けてくれることを願っています。私はCS50xを使って作業しており、欲張りなPset1に取り組んでいます。コードをコンパイルするたびに次のエラーが発生します。Cラウンド関数がエラーをスローしています: "round 'への未定義参照..."

/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) 

助けていただければ幸いです。質問があいまいな場合はお詫び申し上げます。私は人のラウンドを端末に使用していて、さまざまな解決策を試していましたが、何も機能していませんでした。

#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 
+3

数学ライブラリにリンクしていないと思います(末尾のリンカーオプションに '-lm'を追加してください) – purplepsycho

+1

数学ライブラリをリンクしてください。 GCC '-lm'では。 – s7amuser

+3

ヒント:これはコンパイルエラーではなく、リンクエラーです。コードのコンパイル/リンクに使用するコマンドを貼り付けてください。 – mroman

答えて

1

次は動作するはずです:

clang -o greedy greedy.c -lcs50 -lm 

は、これはコンパイラのための数学ライブラリをリンクします。

関連する問題