我在Xcode中用OpenCV for OS X創建了C++ Unity插件。該插件編譯並在我的Mac上工作,但在其他機器上,它嘗試從/ usr/lib下載動態庫(例如,ffmpeg,libtiff,webp)本地/ opt ...(庫未加載:/usr/local/opt/webp/lib/libwebp.6.dylib等)如何避免在C++項目(XCode)中的其他機器上加載動態庫?
Brew安裝解決了這個問題,但有必要分發這個插件「as是」。
我有2個問題: 1)如何知道我的項目是否會嘗試使用動態庫(在其他機器上)?
2)我該如何讓我的項目從bundle中加載它們,而不是從/ usr/local/opt加載它們? (我嘗試鏈接-static,但有136個錯誤「架構x86_64的未定義符號 - _OSSpinLockLock,_dispatch_get_global_queue和其他許多內容)。
對於第一個問題:我知道我的項目使用OpenCV(編譯)。但是我怎麼知道,OpenCV會嘗試加載libwebp.6.dylib?是否有一些實用工具可以掃描包並發現它? – artbataev
@artbataev是的,在OS X上有''otool'命令行來檢查庫鏈接的內容(看看[這裏](http://tech-queries.blogspot.ie/2011/04/dynamic-library -dependency-ON-MAC-OS-x.html))。 –