将库嵌入可执行文件中

时间:2014-03-08 16:26:46

标签: cocoa compiler-construction linker

我认为将.a库(而不是.dylib)导入Xcode 5项目会自动将库代码嵌入到可执行文件中:

Link Binary With Libraries

但它仍会创建一个小的(57 kB)exe,显然没有增强和放大libtorrent。

otool -L给出:

/usr/local/lib/libtorrent-rasterbar.7.dylib (compatibility version 8.0.0, current version 8.0.0)
libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0)
libboost_filesystem.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

为什么.dylib?为什么它仍然需要动态库?

当然,没有这些库,该可执行文件无法在Mac上运行:

dyld: Library not loaded: libboost_system.dylib
  Referenced from: /Users/d/Test1
  Reason: image not found
Trace/BPT trap: 5

0 个答案:

没有答案