【问题标题】:trouble build firebreath xcode麻烦构建firebreath xcode
【发布时间】:2013-01-16 05:06:46
【问题描述】:

对不起我的英语

我为浏览器制作了一个插件来喷火 构建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)

链接有问题?或其他?如何解决?

【问题讨论】:

    标签: xcode macos linker firebreath


    【解决方案1】:

    您似乎没有链接所需的库。 quick google search 表示您至少需要为其中一些符号链接到 IOKit 框架。

    我建议您查看 Firebreath.org 上的 Using Libraries 页面,了解有关如何链接到 Mac 框架的信息。它看起来像这样:

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

    这需要在您调用 add_mac_plugin 之后的某个位置进入 Mac/projectDef.cmake。

    【讨论】:

    • 很好的答案,我想它会帮助我!谢谢,但我添加了 iokit 链接器标志 - 帮助了我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 2012-04-07
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多