C数学。 h函数是Ubuntu中的“未定义引用”

时间:2014-06-23 02:31:53

标签: c eclipse ubuntu ld math.h

我是C for Linux的完全新手。我有这个函数(在Visual Studio上测试,它工作,它不使用任何C ++或Windows专用函数)返回整数内的数字量(注意使用math.h中的log10()),但它抛出错误“log10()未定义引用,ld返回1退出状态”。我在使用pow()的一个函数(同一个程序)上也有这个非常精确的问题(一个函数将二进制转换为十进制,除了Ubuntu之外,它可以在任何地方工作,就像这个一样)。

 int DigitsInNumber(int Num)
 {
     int Digit = Num;
     if (Digit == 0) /* Log10(0) = Math error */
        Digit = 1; 
     else
     {    
         if (Digit < 0) /* Log10(<Negative number>) = Math error */
             Digit = Digit * - 1
         else
             Digit = (int) log10((double) Digit) + 1; /* Log10(250) + 1 = 3 
             (250 has 3 digits) */
     }

     return Digit;
 }

这段代码是在Eclipse(Ubuntu)和g ++(由老师推荐)上创建的,我知道可能有“重复”,但我读过的相关问题推荐了同样的事情:“包括math.h,那是你需要什么。“ (我在脑海中出现功能的那一刻)和“使用ld”(Where?),这些答案都没有说明在哪里输入或使用它。我怎么办“ld”?谢谢。

0 个答案:

没有答案