J'ai une PS3 sur laquelle j'ai installé YDL 6.1 et SDK 3.1 et tout semble fonctionner correctement, car je peux compiler et exécuter les exemples. Cependant, j'ai rencontré quelques problèmes avec l'écriture de mes propres programmes. J'ai créé un petit test qui semble indiquer la cause de l'échec. J'ai le code suivant:Référence non définie à 'sqrt' de math.h sur PS3 avec YDL 6.1 et Cell 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;
}
Quand je lance alors
ppu-gcc mathtest.c
Je reçois l'erreur suivante
/tmp/ccFqwJdG.o:(.text+0x20): undefined reference to `sqrt'
collect2: ld returned 1 exit status
je l'ai déjà vérifié pour vous assurer que math.h existe sur ce système et il définit sqrt. J'ai aussi déjà essayé de courir ceci:
ppu-gcc -I/usr/includes/ mathtest.c
mais il en résulte la même erreur. Je suis confus, quelqu'un a des idées?
Oui, cela semble le réparer. Étrange comment certaines plateformes (Linux) nécessitent une liaison avec les maths, alors que d'autres ne le font pas (OS X), bien que les raisons pour lesquelles os x ne nécessite pas de lien puissent provenir de plusieurs sources (libc vs apple libs, apples modifications to gcc , etc). –