2013-01-16 61 views
0

對不起,我的英語麻煩構建firebreath的Xcode

我做一個插件的瀏覽器firebreath 構建OIS庫,這將包括在firebreath插件,並得到一個錯誤

Undefined symbols for architecture i386: 
    "_IOCreatePlugInInterfaceForService", referenced from: 
     OIS::MacHIDManager::iterateAndOpenDevices(unsigned int) in libois.a(MacHIDManager.o) 
    "_IODestroyPlugInInterface", referenced from: 
     OIS::MacHIDManager::iterateAndOpenDevices(unsigned int) in libois.a(MacHIDManager.o) 
    "_IOIteratorNext", referenced from: 
     OIS::MacHIDManager::iterateAndOpenDevices(unsigned int) in libois.a(MacHIDManager.o) 
    "_IOObjectRelease", referenced from: 
     OIS::MacHIDManager::iterateAndOpenDevices(unsigned int) in libois.a(MacHIDManager.o) 
    "_IORegistryEntryCreateCFProperties", referenced from: 
     OIS::MacHIDManager::iterateAndOpenDevices(unsigned int) in libois.a(MacHIDManager.o) 
    "_IOServiceGetMatchingServices", referenced from: 
     OIS::MacHIDManager::lookUpDevices(int, int) in libois.a(MacHIDManager.o) 
    "_IOServiceMatching", referenced from: 
     OIS::MacHIDManager::lookUpDevices(int, int) in libois.a(MacHIDManager.o) 
    "_kIOMasterPortDefault", referenced from: 
     OIS::MacHIDManager::lookUpDevices(int, int) in libois.a(MacHIDManager.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation)

問題在鏈接?或其他?我該如何解決它?

回答

2

您似乎沒有鏈接需要的庫。 A quick google search表示您至少需要鏈接到IOKit框架的某些符號。

我建議您查看Firebreath.org上的Using Libraries頁面,以獲取有關如何鏈接到Mac框架的信息。它會是這個樣子:

find_library(FRAMEWORK_IOKIT IOKit) 
target_link_libraries(${PROJECT_NAME} ${FRAMEWORK_IOKIT}) 

這需要去在Mac/projectDef.cmake您add_mac_plugin電話後地方。

+0

很好的答案,我認爲它會幫助我!謝謝 但我添加了iokit鏈接器標誌 - 幫助我 – user1881371