2009-03-04 7 views
3

私はYDL 6.1とSDK 3.1をインストールしたPS3を持っていて、すべてを正常に動作しているようです。例をコンパイルして実行できます。しかし、私は自分自身のプログラムを書くことにいくつか問題を抱えてきました。私は失敗の原因を突き止めるような小さなテストケースを作成しました。私はその後、YDL 6.1とCell SDK 3.1を使用したPS3のmath.hの 'sqrt'への未定義の参照?

ppu-gcc mathtest.c 

を実行すると、私はすでにのmath.hは、このシステムに存在することを確認するためにチェックし、私は次のエラー

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

を取得

// 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; 
} 

:私は、次のコードを持っていますそれはsqrtを定義します。私もすでにこれを実行しようとしました:

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

しかし、同じエラーが発生します。私は混乱している、誰もが任意のアイデアを持っている?

答えて

4

Linuxでgccパラメータとして-lmを使用すると、時々私は同様のエラーに遭遇しました。多分それはここでもそうです。このパラメータは、リンカに数学ライブラリも含めるよう指示します。

+0

ええ、それはそれを修正するようです。 os xがリンクを必要としない理由は、libcとappleのlibs、gccへのリンゴの修正(Linuxの場合) 、など)。 –

関連する問題