একটি এক্সকোড শিক্ষানবিস এর প্রশ্ন:
এটি Xcode 4.6.3 এর সাথে আমার প্রথম অভিজ্ঞতা।
আমি একটি খুব সাধারণ কনসোল প্রোগ্রাম লেখার চেষ্টা করছি, যা জোড় বিটি ডিভাইসগুলি অনুসন্ধান করে এবং সেগুলি এনএসএলগে মুদ্রণ করে।
এটি নিম্নলিখিত ত্রুটিটি নিয়ে তৈরি করে:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_IOBluetoothDevice", referenced from:
objc-class-ref in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
আমি পাগলের মতো সন্ধান করেছি। সাধারণ সমস্যাটি কোনও ফাইলে রেফারেন্স হওয়া উচিত, যার মধ্যে কেবলমাত্র শিরোনামের ফাইলগুলি আমদানি করা হয় এবং লিঙ্কার দ্বারা কোনও প্রয়োগ (*। এম-ফাইল) খুঁজে পাওয়া যায় না। আইও ব্লুথুথ লাইব্রেরিটি অবশ্য ফাউন্ডেশন ফ্রেমওয়ার্কের মতো একটি মানক ফ্রেমওয়ার্ক।
আমার উপরের বিবৃতিতে আমি কী মিস করছি?
আমি এটি 32-বিট মেশিনের জন্য বিল্ড করার চেষ্টা করেছি (বিল্ড আবারও ব্যর্থ হয়)। এটি স্পষ্টতই একটি লিঙ্কারের ত্রুটি, তবে এর সাথে কী সম্পর্কযুক্ত তা সম্পর্কে আমার কোনও ধারণা নেই, ব্যতীত x86 এবং x64 উভয় আর্কিটেকচারে আইওব্লুথুথডভাইসেসের জন্য প্রয়োগের সন্ধান করার ক্ষেত্রে একটি সমস্যা রয়েছে, যখন শিরোনাম ফাইলগুলি স্ট্যান্ডার্ডযুক্ত ফ্রেমওয়ার্ক, বলা হয় IOBluetooth?
আপনার তথ্যের জন্য আমার প্রধান কোড "main.m" হচ্ছে:
#import <Foundation/Foundation.h>
#import <IOBluetooth/objc/IOBluetoothDevice.h> // Note the import for bluetooth
#import <IOBluetooth/objc/IOBluetoothDeviceInquiry.h> // Note the import for bluetooth
int main(int argc, const char * argv[])
{
@autoreleasepool {
IOBluetoothDevice *currentDevice;
NSArray *devices = [ IOBluetoothDevice pairedDevices];
for (id currentDevice in devices){
NSLog(@"%i : %@",[ currentDevice classOfDevice ], [ currentDevice name ]);
}
}
return 0;
}
কোনও সহায়তার জন্য বা সঠিক দিকে নির্দেশকারীকে ধন্যবাদ।
$(inherited)
করার চেষ্টা করুন , পরিষ্কার করুন এবং তৈরি করুন।