YDL 6.1 및 셀 SDK 3.1을 사용하여 PS3의 Math.h에서 'SQRT'에 대한 정의되지 않은 참조?
문제
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
그러나 동일한 오류가 발생합니다. 나는 혼란스러워, 아무도 아이디어가 있습니까?
해결책
GCC 매개 변수로 -LM을 사용하여 Linux에서 비슷한 오류가 발생했습니다. 아마도 여기서도 그렇습니다. 매개 변수는 링커에 수학 라이브러리를 포함하도록 지시합니다.
제휴하지 않습니다 StackOverflow