অন্যান্য

ম্যাক কিভাবে 'আর্কিটেকচার x86_64 এর জন্য অনির্ধারিত চিহ্ন' এড়াতে হয়?

মাইকজাং

প্রতি
আসল পোস্টার
22 মে, 2010
টোকিও, জাপান
  • 25 জুলাই, 2015
আমি আমার পুরানো লেগো RCX এর জন্য একটি ক্রস কম্পাইল তৈরি করার চেষ্টা করেছি, আমি GCC 3.3.6 এবং NEWLIB 1.13 ব্যবহার করি।
কোড: |_+_|
যখন আমি এটি তৈরি করি, অবশেষে আমি নীচের মতো ত্রুটি পেয়েছি, আমি কী করতে পারি?
কোড: |_+_|

ম্যাড দ্য সানে

প্রতি
নভেম্বর 8, 2010


উটাহ
  • 2 আগস্ট, 2015
যা ঘটছে তা হল OS X এর লিঙ্কার লিঙ্ক করার চেষ্টা করছে এমন কিছুতে নির্দিষ্ট ফাংশন খুঁজে পাচ্ছে না। এর কারণ হতে পারে একটি অনুপস্থিত প্রিপ্রসেসর ম্যাক্রো, অথবা কম্পাইল করা কোড এবং/অথবা লাইব্রেরি লিঙ্ক করা হচ্ছে না।

মাইকজ্যাং

প্রতি
আসল পোস্টার
22 মে, 2010
টোকিও, জাপান
  • 4 আগস্ট, 2015
ম্যাড দ্য সান বলেছেন: যা ঘটছে তা হল OS X এর লিঙ্কার লিঙ্ক করার চেষ্টা করছে এমন কিছুতে নির্দিষ্ট ফাংশন খুঁজে পাচ্ছে না। এর কারণ হতে পারে একটি অনুপস্থিত প্রিপ্রসেসর ম্যাক্রো, অথবা কম্পাইল করা কোড এবং/অথবা লাইব্রেরি লিঙ্ক করা হচ্ছে না।
আপনার বার্তার জন্য ধন্যবাদ! আপনি কি আমাকে এই সমস্যার সমাধান করতে পারেন?

cqexbesd

জুন 4, 2009
জার্মানি
  • 4 আগস্ট, 2015
mikezang বলেছেন: আপনার বার্তার জন্য ধন্যবাদ! আপনি কি আমাকে এই সমস্যার সমাধান করতে পারেন?

আমি এখানে শুধুমাত্র অনুমান করছি কিন্তু আমি মনে করি আপনার gperf ইনস্টল করা প্রয়োজন হতে পারে। তারপর স্ক্র্যাচ থেকে বিল্ডিং শুরু করুন - যেমন ডিসটক্লিন বা অনুরূপ করুন - বা শুধু আপনার ডিরেক্টরি মুছুন এবং আবার টার ফাইলটি প্রসারিত করুন।

ক্রুমুলেন্ট

2 অক্টোবর, 2006
আশা ও গৌরবের দেশ
  • 4 আগস্ট, 2015
mikezang বলেছেন: আপনার বার্তার জন্য ধন্যবাদ! আপনি কি আমাকে এই সমস্যার সমাধান করতে পারেন?

মনে হচ্ছে আপনি ভুল GCC ব্যবহার করছেন।

হয় GCC 3.3.6-এ সম্পূর্ণ পাথ টাইপ করুন অথবা GCC-এর থেকে আলাদা নাম দিয়ে পাথে যোগ করুন (কারণ Apple ইতিমধ্যেই একটি GCC কমান্ড প্রদান করে যা আসলে ক্ল্যাং চালানো হয়)। এই কারণে আপনার নিম্নলিখিত ত্রুটি আছে:

ld: আর্কিটেকচার x86_64 এর জন্য প্রতীক(গুলি) পাওয়া যায়নি

ঝনঝন: ত্রুটি: লিঙ্কার কমান্ড প্রস্থান কোড 1 এর সাথে ব্যর্থ হয়েছে (আমন্ত্রণ দেখতে -v ব্যবহার করুন)

আপনি আসলে ক্ল্যাং চালাচ্ছেন যা x86_64 এ কম্পাইল করে। আপনি কম্পাইল করা GCC চালাতে হবে। সাধারণত একটি ক্রস কম্পাইলার হিসাবে GCC কম্পাইল করার সময় আপনি এটিকে GCC থেকে একটি ভিন্ন নাম দেন (যা কম্পাইল করার সময় GCC-এর জন্য কনফিগার স্ক্রিপ্ট বিকল্পগুলির মধ্যে একটি) যাতে আপনি সিস্টেম দ্বারা প্রদত্ত GCC এবং আপনার নিজের GCC ক্রসের মধ্যে পার্থক্য বলতে পারেন। কম্পাইলার

মাইকজাং

প্রতি
আসল পোস্টার
22 মে, 2010
টোকিও, জাপান
  • 4 আগস্ট, 2015
cqexbesd বলেছেন: আমি এখানে শুধু অনুমান করছি কিন্তু আমি মনে করি আপনার gperf ইনস্টল করা প্রয়োজন হতে পারে। তারপর স্ক্র্যাচ থেকে বিল্ডিং শুরু করুন - যেমন ডিসটক্লিন বা অনুরূপ করুন - বা শুধু আপনার ডিরেক্টরি মুছুন এবং আবার টার ফাইলটি প্রসারিত করুন।
দারুণ! গত রাতে আমি এই পৃষ্ঠা খুঁজে পেয়েছি http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , এটি অনুসরণ করার পরে ত্রুটি চলে গেছে।