我一直在頭撞牆上這個小時。我一直在玩CMUSphinx的pocketsphinx庫,運行在OSX 10.10/XCode 7.2上,並希望讓我的.app包在我自己的計算機上工作。最重要的是,必須將三個動態庫嵌入到.app包(libpocketsphinx.3.dylib
,libsphinxad.3.dylib
和libsphinxbase.3.dylib
)中,然後使用XCode中的Runpath Search Paths
設置加載。運行路徑搜索路徑甚至無法使用@ rpath/library.dylib查找庫
我已經閱讀了關於如何讓這個工作的所有內容。我應該注意到,.app包在我自己的機器上按照預期編譯/運行。我確定這些庫被複制到.app軟件包的/Contents/Frameworks
文件夾中。這些庫不使用引用,但是被複制到我的源文件夾中(按照CMUSphinx頁面上這個確切問題的論壇帖子)。我試過幾乎所有在可執行文件中使用install_name_tool
代替@rpath/libraryname.dylib
以及@loader_path
和@executable_path
的組合(在XCode中將其更改爲@whatever_path /../ Frameworks)以及三個庫文件。我也試過@loader_path/Frameworks
在這裏的另一篇文章,但沒有運氣。
請告訴我奇怪的是,我發現了錯誤好像它加載libsphinxad.3.dylib
,既libsphinxad.3.dylib
和libsphinxad.3.dylib
依靠libsphinxbase.3.dylib
,但我得到這個錯誤的崩潰報告:
Dyld Error Message:
Library not loaded: /usr/local/lib/libsphinxbase.3.dylib
Referenced from: /Volumes/SunGate/VoiceCommander.app/Contents/Frameworks/libsphinxad.3.dylib
Reason: image not found
注意,/Volumes/SunGate/
只是我正在測試的另一臺機器上的驅動器。
我會真的感謝幫助!我會盡我所能提供任何可能有助於解決此問題的其他信息!
你能解釋一下嗎? –