Неопределенная ссылка на 'sqrt' из math.h на PS3 с YDL 6.1 и Cell SDK 3.1?

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

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть PS3, на котором я установил YDL 6.1 и SDK 3.1, и, кажется, все работает нормально, так как я могу скомпилировать и запустить примеры. Однако я столкнулся с некоторыми проблемами при написании собственных программ. Я создал небольшой тестовый пример, который, кажется, точно определяет причину сбоя. У меня есть следующий код:

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

но это приводит к той же ошибке. Я запутался, у кого-нибудь есть идеи?

Это было полезно?

Решение

Я иногда получал похожие ошибки в Linux, используя -lm в качестве параметра gcc. Возможно, и здесь. Параметр указывает компоновщику также включать библиотеку математики.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top