3

我有一个安装了 YDL 6.1 和 SDK 3.1 的 PS3,一切似乎都运行良好,因为我可以编译和运行示例。但是,我在编写自己的程序时遇到了一些问题。我创建了一个小测试用例,似乎可以查明失败的原因。我有以下代码:

// mathtest.c
#include <stdio.h>
#include <math.h>

int main ()
{
  double param, result;
  param = 1024.0;
  result = sqrt (param);
  printf ("sqrt(%lf) = %lf\n", param, result );
  return 0;
}

当我然后跑

ppu-gcc mathtest.c

我收到以下错误

/tmp/ccFqwJdG.o:(.text+0x20): undefined reference to `sqrt'
collect2: ld returned 1 exit status

我已经检查以确保这个系统上存在 math.h 并且它确实定义了 sqrt。我也已经尝试过运行这个:

ppu-gcc -I/usr/includes/ mathtest.c

但它会导致同样的错误。我很困惑,有人有什么想法吗?

4

1 回答 1

4

我有时会在 Linux 上遇到类似的错误,使用 -lm 作为 gcc 参数会有所帮助。也许在这里也是如此。该参数告诉链接器也包含数学库。

于 2009-03-04T20:59:42.923 回答