【发布时间】:2011-10-22 05:11:17
【问题描述】:
我正在尝试将 liboauth.dylib 添加到我的 xcode 项目 (c++) 中。我已经配置并制作了库,现在位于我的/usr/local/lib 中,现在有:
liboauth.0.dylib
liboauth.dylib <- a link to liboauth.0.dylib
liboauth.li
liboauth.a
带有usr/local/include 中的标头。看起来不错。
我通过将路径 /usr/local/lib/liboauth.dylib 添加到 Other Linker Flags 部分并将 usr/local/include/ 添加到 Header Search Paths 部分,将其包含在我的 xcode 中。
我也在Library Search Paths中包含了同样的内容。
这在我的系统上运行良好。但是,如果我将生成的 .app 带到另一台(osx)计算机上,它会给出错误 /usr/local/liboauth.0.dylib(我通过打开 .app 并运行 unix 可执行文件来得到这个)。
链接器不应该在构建时包含 liboauth dylib 吗?那么在不同的电脑上应该不会有问题吧?
如果答案是否定的,那么我将如何将 liboauth.dylib 包含到 .app 中,以便它可以在任何计算机上运行(运行 osx)?
这里是具体的错误:
Library not loaded: /usr/local/lib/liboauth.0.dylib
Referenced from: /Users/scratch/gameTest.app/Contents/MacOS/gameTest
Reason: image not found
编辑:我找到了问题!在 liboauth.0.dylib 上使用 otool -l 命令我发现了这个:
Load command 3
cmd LC_ID_DYLIB
cmdsize 56
name /usr/local/lib/liboauth.0.dylib (offset 24)
time stamp 1 Thu Jan 1 12:00:01 1970
current version 9.1.0
compatibility version 9.0.0
有人可以帮我弄清楚如何改变这个吗?我认为它与 install_name_tool 有关,但我不知道如何正确处理。
【问题讨论】:
标签: c++ xcode linker linker-errors