YDL 6.1 및 셀 SDK 3.1을 사용하여 PS3의 Math.h에서 'SQRT'에 대한 정의되지 않은 참조?

StackOverflow https://stackoverflow.com/questions/612377

  •  03-07-2019
  •  | 
  •  

문제

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에서 비슷한 오류가 발생했습니다. 아마도 여기서도 그렇습니다. 매개 변수는 링커에 수학 라이브러리를 포함하도록 지시합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top