【问题标题】:Install my compiled libs in the system to be used by an executable在系统中安装我编译的库以供可执行文件使用
【发布时间】:2011-03-08 18:34:53
【问题描述】:

我正在使用 Xcode,经过一番挣扎,它现在正在编译我的动态库 okie dokie。

我现在的问题是我需要将这些库与另一个项目一起使用,这是一个可执行文件。

我希望 Xcode 在编译完我的库后,将它们复制到可执行文件夹,或者更好的是,将库复制到系统目录,在那里它们将被加载而无需再次编译(因此复制)库

在项目的设置中有一个安装目录,默认是/usr/local/lib,但是我什至在/usr都没有一个叫local的文件夹(我试图通过终端访问它),所以我猜猜这根本不起作用......

感谢任何帮助!

谢谢,
乔纳森

【问题讨论】:

  • 您是否考虑过制作框架而不仅仅是 dylib?
  • 怎么样? Xcode 中的框架是什么?
  • hmm,我在网上看了一些东西,使用框架似乎是个好主意......我想知道我编译框架后,其他项目是否能够使用头文件和dylib ?我有 3 个 dylib 项目和一个使用这 3 个 dylib 的可执行文件项目。是否有任何指南可以帮助我创造这种环境?

标签: c++ xcode path dylib


【解决方案1】:

也许“复制文件”构建阶段可以为您做到这一点。选择“绝对路径”,然后选择“仅在安装时”。

啊,这是您想要的文档(介绍后的第一部分,“构建位置”):

http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/XcodeProjectManagement/210-Building_Products/building.html

尽管即使在进行调试构建时,如果您希望将库安装在“安装位置”中,那么“复制文件”构建阶段可能最终会更好。

我自己没有做过,但这些都是直接想到的。

【讨论】:

  • 我试过了,但编译器无法复制文件,它说权限被我查看的日志拒绝...也许我可以将 lib 复制到项目的上一级文件夹并将操作系统设置为在那里搜索库?你知道怎么做吗?我不 =[
  • 是的,您需要管理员权限才能写入系统目录。您可以将 dylibs 放在应用程序包中,因此您可以这样做。每个应用程序都有自己的 dylib 副本。
  • 使用框架而不是单独使用dylib,然后使用复制文件将框架添加到可执行文件的位置
猜你喜欢
  • 2010-11-17
  • 2015-04-04
  • 2020-04-19
  • 2017-01-12
  • 1970-01-01
  • 2016-01-15
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
相关资源
最近更新 更多