C ++& Xcode - 静态链接库

时间:2018-04-01 19:14:40

标签: c++ xcode gcc static-libraries otool

我有一个C ++项目,我使用Xcode 9.2和gcc来编译它。我有一个链接的静态库列表,您可以在下图中看到其中一些:

Link Binary With Libraries section of Xcode

如您所见,它们已正确列入“构建阶段”XCode面板的“链接二进制库”部分。

如果我在用于生成它的同一台机器上运行可执行文件,那么一切正常。 当我尝试在另一台Mac上运行二进制文件时,问题就开始了。程序无法启动,并返回以下消息:

dyld: Library not loaded: /usr/local/opt/freetype/lib/libfreetype.6.dylib
  Referenced from: /Users/user/Desktop/Joyce
  Reason: image not found
Abort trap: 6

在可执行文件上运行 otool -L ,结果如下:

/usr/local/opt/fontconfig/lib/libfontconfig.1.dylib (compatibility version 12.0.0, current version 12.1.0)
/usr/local/opt/freetype/lib/libfreetype.6.dylib (compatibility version 23.0.0, current version 23.0.0)
/usr/local/opt/cairo/lib/libcairo-script-interpreter.2.dylib (compatibility version 11403.0.0, current version 11403.12.0)
/usr/local/opt/cairo/lib/libcairo.2.dylib (compatibility version 11403.0.0, current version 11403.12.0)
/usr/local/opt/cairo/lib/libcairo-gobject.2.dylib (compatibility version 11403.0.0, current version 11403.12.0)

所以我对使用Xcode的静态链接感到有点困惑,因为我期望这些库应该与可执行文件静态链接,但基于上面的结果,它们似乎是动态链接的。

我的目的是在其他计算机上运行可执行文件,而无需安装其他组件。

0 个答案:

没有答案