【问题标题】:Handling importing libraries if not present at execution time如果在执行时不存在,则处理导入库
【发布时间】:2015-04-17 13:07:07
【问题描述】:

除了我的 OS X 应用程序,我正在使用一个帮助工具,它在 /Library/PrivilegedHelperTools 中以 root 权限运行

我是集成 Hockey 框架,它位于我的捆绑应用程序中。 在应用中运行良好,我尝试将其集成到帮助工具中。

由于我的帮助工具不知道在哪里寻找 Hockey 框架(而且我不想使用 .pkg 安装程序),我正在尝试将框架复制到 /Library/Frameworks

第一次启动我的帮助工具时,框架还不存在,我已经在导入它。

如何在我的库被复制时处理它的条件导入,整个使用相同的帮助工具?

【问题讨论】:

    标签: c cocoa shared-libraries static-libraries


    【解决方案1】:

    您的工具需要使用惰性绑定,而不是启动时绑定(苹果称其为依赖库与动态加载的库)。

    DLOPEN(3)
    

    https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/dlopen.3.html#//apple_ref/c/func/dlopen

    如果返回 null,则该库尚未安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 2014-07-17
      • 2020-06-17
      相关资源
      最近更新 更多