我写了一个使用libusb
的C程序。现在我想分发这个程序到“普通”(非开发)Mac OS X电脑。但是,当我移植了编译的文件到测试机器,我得到了以下错误:在动态C库(dylib)中编译为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)。
那么我该如何制作一个整洁的小应用程序文件?