دیگر

میک 'فن تعمیر x86_64 کے لیے غیر متعینہ علامتوں' سے کیسے بچیں؟

mikezang

کو
اصل پوسٹر
22 مئی 2010
ٹوکیو، جاپان
  • 25 جولائی 2015
میں نے اپنے پرانے Lego RCX کے لیے کراس کمپائل بنانے کی کوشش کی، میں GCC 3.3.6 اور NEWLIB 1.13 استعمال کرتا ہوں۔
کوڈ: |_+_|
جب میں اسے بناتا ہوں، آخر کار مجھے نیچے کی طرح غلطی ہوئی، میں کیا کر سکتا ہوں؟
کوڈ: |_+_|

میڈ دی سائیں

کو
8 نومبر 2010


یوٹاہ
  • 2 اگست 2015
جو ہو رہا ہے وہ یہ ہے کہ OS X کا لنکر کسی بھی چیز میں مخصوص فنکشن نہیں ڈھونڈ سکتا جس سے وہ لنک کرنے کی کوشش کر رہا ہے۔ اس کی وجہ ایک غائب پری پروسیسر میکرو ہو سکتا ہے، یا مرتب شدہ کوڈ اور/یا لائبریری کو لنک نہیں کیا جا رہا ہے۔

mikezang

کو
اصل پوسٹر
22 مئی 2010
ٹوکیو، جاپان
  • 4 اگست 2015
میڈ دی سائیں نے کہا: یہ کیا ہو رہا ہے کہ OS X کا لنکر کسی بھی چیز میں مخصوص فنکشن نہیں پا سکتا جس سے وہ لنک کرنے کی کوشش کر رہا ہے۔ اس کی وجہ ایک غائب پری پروسیسر میکرو ہو سکتا ہے، یا مرتب شدہ کوڈ اور/یا لائبریری کو لنک نہیں کیا جا رہا ہے۔
پیغام بھیجنے کا شکریہ! کیا آپ مجھے بتا سکتے ہیں کہ اس مسئلے کو کیسے حل کیا جائے؟ سی

cqexbesd

4 جون 2009
جرمنی
  • 4 اگست 2015
mikezang نے کہا: آپ کے پیغام کا شکریہ! کیا آپ مجھے بتا سکتے ہیں کہ اس مسئلے کو کیسے حل کیا جائے؟

میں یہاں صرف اندازہ لگا رہا ہوں لیکن مجھے لگتا ہے کہ آپ کو gperf انسٹال کرنے کی ضرورت ہوگی۔ پھر شروع سے تعمیر کرنا شروع کریں - یعنی ڈسٹ کلین یا اس سے ملتا جلتا بنائیں - یا صرف اپنی ڈائرکٹری کو حذف کریں اور ٹار فائل کو دوبارہ پھیلائیں۔

کرومولینٹ

2 اکتوبر 2006
امید اور جلال کی سرزمین
  • 4 اگست 2015
mikezang نے کہا: آپ کے پیغام کا شکریہ! کیا آپ مجھے بتا سکتے ہیں کہ اس مسئلے کو کیسے حل کیا جائے؟

ایسا لگتا ہے کہ آپ غلط GCC استعمال کر رہے ہیں۔

یا تو GCC 3.3.6 پر مکمل پاتھ ٹائپ کریں یا اسے GCC سے مختلف نام کے ساتھ پاتھ میں شامل کریں (کیونکہ ایپل پہلے سے ہی ایک GCC کمانڈ فراہم کرتا ہے جو حقیقت میں کلینگ چلانے کے لیے ہوتا ہے)۔ یہی وجہ ہے کہ آپ کو درج ذیل خرابی ہے:

ld: آرکیٹیکچر x86_64 کے لیے علامت (s) نہیں ملی

بجنا: غلطی: ایگزٹ کوڈ 1 کے ساتھ لنکر کمانڈ ناکام ہوگئی (دعوت دیکھنے کے لیے -v استعمال کریں)

آپ دراصل کلینگ چلا رہے ہیں جو x86_64 پر مرتب ہوتا ہے۔ آپ کو GCC چلانے کی ضرورت ہے جسے آپ نے مرتب کیا ہے۔ عام طور پر جب جی سی سی کو کراس کمپائلر کے طور پر مرتب کرتے ہیں تو آپ اسے جی سی سی سے مختلف نام دیتے ہیں (جو کہ اسے مرتب کرتے وقت جی سی سی کے لیے کنفیگر اسکرپٹ کے اختیارات میں سے ایک ہے) تاکہ آپ سسٹم کے ذریعہ فراہم کردہ جی سی سی اور آپ کے اپنے جی سی سی کراس کے درمیان فرق بتا سکیں۔ مرتب کرنے والا

mikezang

کو
اصل پوسٹر
22 مئی 2010
ٹوکیو، جاپان
  • 4 اگست 2015
cqexbesd نے کہا: میں یہاں صرف اندازہ لگا رہا ہوں لیکن مجھے لگتا ہے کہ آپ کو gperf انسٹال کرنے کی ضرورت ہوگی۔ پھر شروع سے تعمیر کرنا شروع کریں - یعنی ڈسٹ کلین یا اس سے ملتا جلتا بنائیں - یا صرف اپنی ڈائرکٹری کو حذف کریں اور ٹار فائل کو دوبارہ پھیلائیں۔
زبردست! کل رات مجھے یہ صفحہ ملا http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p اس کی پیروی کرنے کے بعد غلطی ختم ہو جاتی ہے۔