我几个小时以来一直把头靠在墙上。我一直在玩CMUSphinx的pocketsphinx库,在OSX 10.10 / XCode 7.2上运行,并希望我的.app软件包可以在我自己的计算机上运行。最重要的是,有三个动态库必须嵌入.app包(libpocketsphinx.3.dylib
,libsphinxad.3.dylib
和libsphinxbase.3.dylib
),然后使用Runpath Search Paths
设置加载的XCode。
我已经阅读了关于如何使其发挥作用的所有内容。我应该注意.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/
只是我正在测试它的另一台机器上的驱动器。
我会真的感谢这方面的帮助!我会尽力提供可能有助于解决此问题的任何其他信息!
答案 0 :(得分:0)
我在系统上使用“find”命令找到了这个lib。毫不奇怪,它就在这里
sphinxbase / SRC / libsphinxbase /的.libs / libsphinxbase.3.dylib
我将它链接到/ usr / local / lib /
ln -s sphinxbase / src / libsphinxbase / .libs / libsphinxbase.3.dylib /usr/local/lib/libsphinxbase.3.dylib
一切都准备好了!