Xcode初學者的問題:這是我第一次使用Xcode 4.6.3。我正在嘗試編寫一個非常簡單的控制臺程序,該程序搜索配對的BT設備并將其打印到NSLog。生成時出現以下錯誤:Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_IOBluetoothDevice", referenced from: objc-class-ref in main.old: symbol(s) not found for architecture x86_64clang: error: linker command failed with exit code 1 (use -v to see invocation)我瘋狂地搜尋。常見的問題應該是對文件的引用,該文件僅導入了頭文件,而鏈接器未找到任何實現(* .m文件)。但是,IOBluetooth庫是類似于Foundation Framework的標準框架。我在上述聲明中缺少什么?我也嘗試過為32位計算機構建它(構建再次失?。o@然,這是一個鏈接器錯誤,但與它的關系不知道,除了在x86和x64體系結構上查找IOBluetoothDevice的實現存在問題之外,而頭文件來自一個包含在標準中的Framework(稱為IO藍牙?供您參考,我的主要代碼“ 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 bluetoothint 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;}感謝您的幫助或指向正確方向的指示。
3 回答

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
架構x86_64的未定義符號:“ _ OBJC_CLASS _ $ _ xxx”,引用自:yyy.o中的objc-class-ref
這通常意味著您正在從類“ yyy”中調用“ xxx”(它可以是框架或類)。編譯器無法找到“ xxx”,因此會發生此錯誤。
您需要通過在導航器窗口中右鍵單擊項目文件夾并單擊“ 將文件添加到“ YourProjectName ” “選項來添加丟失的文件(在本例中為“ xxx”)。
彈出窗口將在Finder中打開您的項目文件。在這里,您可以看到丟失的文件,然后將它們添加到您的項目中。不要忘記選中“ 如果需要復制項目 ”框。祝好運??!
- 3 回答
- 0 關注
- 715 瀏覽
添加回答
舉報
0/150
提交
取消