我有一个 C++ 项目,我使用 Xcode 9.2 和 gcc 来编译它。我有一个链接的静态库列表,您可以在下图中看到其中的一些:
如您所见,它们已正确列在“构建阶段”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 的静态链接有点困惑,因为我希望这些库应该与可执行文件静态链接,但根据上述结果,它们似乎是动态链接的。
我的目的是在其他机器上运行可执行文件而不安装其他组件。