Temukan semua perpustakaan pendorong:
$ otool -L exefile
exefile:
@executable_path/libboost_something.dylib (compatibility version 0.7.0, current version 0.7.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 65.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
dan untuk masing-masing libboost_xxx.dylib, lakukan:
$ install_name_tool -change @executable_path/libboost_something.dylib /opt/local/lib/libboost_something.dylib exefile
dan akhirnya verifikasi menggunakan otoollagi:
$ otool -L exefile
exefile:
/opt/local/lib/libboost_something.dylib (compatibility version 0.7.0, current version 0.7.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 65.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
Halaman manual: otool install_name_tool
EDIT Beberapa waktu yang lalu saya menulis skrip python ( copy_dylibs.py) untuk menyelesaikan semua hal ini secara otomatis saat membuat aplikasi. Ini akan mengemas semua perpustakaan dari /usr/localatau /opt/localke dalam bundel aplikasi dan memperbaiki referensi ke perpustakaan yang akan digunakan @rpath. Ini berarti Anda dapat dengan mudah menginstal perpustakaan pihak ketiga menggunakan Homebrew dan mengemasnya dengan mudah.
Saya sekarang telah membuat skrip ini publik di github .