2016-04-06 52 views
0

我一直在頭撞牆上這個小時。我一直在玩CMUSphinx的pocketsphinx庫,運行在OSX 10.10/XCode 7.2上,並希望讓我的.app包在我自己的計算機上工作。最重要的是,必須將三個動態庫嵌入到.app包(libpocketsphinx.3.dylib,libsphinxad.3.dyliblibsphinxbase.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.dyliblibsphinxad.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/只是我正在測試的另一臺機器上的驅動器。

我會真的感謝幫助!我會盡我所能提供任何可能有助於解決此問題的其他信息!

回答

0

我在我的系統上使用「find」命令找到了這個lib。毫不奇怪的是這裏

sphinxbase/src目錄/ libsphinxbase /的.libs/libsphinxbase.3.dylib

我把它掛到/ usr/local/lib目錄/

LN - 小號sphinxbase/src目錄/ libsphinxbase /的.libs/libsphinxbase.3.dylib /usr/local/lib/libsphinxbase.3.dylib

而且都準備好去!

+0

你能解釋一下嗎? –