إشارة غير محددة إلى "sqrt" من Math.H على PS3 مع YDL 6.1 و Cell SDK 3.1؟
سؤال
لدي 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 ساعد هناك. ربما يفعل هنا أيضا. تخبر المعلمة الرابط بتضمين مكتبة الرياضيات أيضًا.
لا تنتمي إلى StackOverflow