【发布时间】:2017-08-01 17:27:20
【问题描述】:
我编写了一个使用libusb 的小C 程序。现在我想将此程序分发给“普通”(而非开发)Mac OS X 计算机。但是当我将编译后的文件移植到测试机器时,我得到了以下错误:
dyld: Library not loaded: /opt/local/lib/libusb-0.1.4.dylib
Referenced from: /Users/kitty/myprogram
Reason: image not found
Trace/BPT trap: 5
当我复制文件时(仅适用于所有文件)
/opt/local/lib/libusb-0.1.4.dylib /opt/local/lib/libusb-1.0.a
/opt/local/lib/libusb.a
/opt/local/lib/libusb-1.0.0.dylib /opt/local/lib/libusb-1.0.dylib
/opt/local/lib/libusb.dylib
从我的机器到目标机器,程序完美运行。
但我真的很想将所有内容创建或编译成一个可执行文件。这怎么可能?
在编译时使用-static 不起作用,因为并非所有库都可以静态编译到最终应用程序中(请参阅this SO question here)。
那么我怎样才能制作一个整洁的小应用程序文件呢?
【问题讨论】:
标签: c macos static-linking