すべてのboostライブラリを見つける:
$ 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)
それぞれに対してlibboost_xxx.dylib、次のようにします。
$ install_name_tool -change @executable_path/libboost_something.dylib /opt/local/lib/libboost_something.dylib exefile
そして最後にotoolもう一度使用して確認します:
$ 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)
マンページ: otool install_name_tool
編集しばらく前にcopy_dylibs.py、アプリを構築するときにこれらすべてを自動的に処理するpythonスクリプト()を書きました。それから、すべてのライブラリをパッケージ化します/usr/localまたは/opt/local使用するために、これらのライブラリにアプリケーションバンドルと修正参照に@rpath。つまり、Homebrewを使用してサードパーティのライブラリを簡単にインストールし、パッケージ化するのも同じくらい簡単です。
このスクリプトをgithubで公開しました。