QT创建者中对CMU狮身人面像函数的未定义引用

Undefined reference to CMU Sphinx functions in Qt Creator

本文关键字:函数 引用 未定义 创建者 CMU QT      更新时间:2023-10-16

我正在尝试在qt中使用cmu sphinx。我已经安装了Pocketsphinx和sphinxbase,并在QT中进行了一个项目,并将以下代码添加到main.cpp文件:

#include <pocketsphinx.h>
#define MODELDIR "/usr/local/share/pocketsphinx/model"
int main(int argc, char* argv[])
{
    ps_decoder_t *ps = nullptr;
    cmd_ln_t *config = nullptr;
    config = cmd_ln_init(NULL, ps_args(), TRUE,
                         "-hmm", MODELDIR "/en-us/en-us",
                         "-lm", MODELDIR "/en-us/en-us.lm.bin",
                         "-dict", MODELDIR "/en-us/cmudict-en-us.dict",
                         NULL);
}

我还将以下行添加到.pro文件:

INCLUDEPATH += /usr/local/include/sphinxbase
INCLUDEPATH += /usr/local/include/pocketsphinx

当我尝试构建时,我会收到以下错误:

  • ps_args的未定义引用
  • cmd_ln_init的未定义引用

我在Debian 8.我错过了什么?

好吧,所以这似乎很愚蠢,但是我终于解决了这个问题,我希望这对未来QT中有类似错误的任何人都有帮助。

求解它的方法是右键单击编辑器中的任何地方,然后单击"添加库",然后选择系统库。然后,我输入了库名称,在我的情况下是pocketsphinx。我重复了sphinxbase。然后进行构建 - 运行QMAKE,然后构建。