我在我的应用程序中添加了当前版本的Openears Library(版本0.911),该应用程序已经使用旧版本的Openears库(0.9.02)。现在我用新的替换了旧的Openears库的所有引用。
但是我收到了显示
的错误**Undefined symbols:
"___gxx_personality_v0", referenced from:
___gxx_personality_v0$non_lazy_ptr in libOpenEarsLibrary.a(PocketsphinxController.o)
___gxx_personality_v0$non_lazy_ptr in libOpenEarsLibrary.a(ContinuousModel.o)
___gxx_personality_v0$non_lazy_ptr in libOpenEarsLibrary.a(AudioQueueFallback.o)
___gxx_personality_v0$non_lazy_ptr in libOpenEarsLibrary.a(ContinuousADModule.o)
(maybe you meant: ___gxx_personality_v0$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status**
谁能告诉我我做错了什么? .. 我可以知道如何解决这个问题吗?
答案 0 :(得分:5)
尝试在构建设置>中添加-lstdc++
-ObjC
其他链接器标志。
答案 1 :(得分:1)
转到XcodeMenu:Project-> EditActiveTarget" YourApp" - > build-> search" Other Linker Flags"并把
构建设置中的-lstdc ++ -ObjC>其他Linker Flags并双击那里并写下" -lstdc ++ 或 -ObjC "。这是Jano给出的解决方案..工作正常
答案 2 :(得分:0)
OpenEars开发人员在这里。我建议根据http://www.politepix.com/openears/configuring文档中的说明,通过将您使用PocketsphinxController的类的名称从MyClass.m更改为MyClass.mm来建议。
要了解此步骤,请搜索短语“您要在其中托管PocketsphinxController的任何类和/或LanguageModelGenerator必须将其后缀.m更改为.mm”。
整个项目的-lstdc ++可能工作正常,但框架尚未经过这样的测试。