C++ Ubuntu中对espeak ng头的未定义引用
我已经下载了C++ Ubuntu中对espeak ng头的未定义引用,c++,ubuntu,error-handling,undefined-reference,espeak,C++,Ubuntu,Error Handling,Undefined Reference,Espeak,我已经下载了espeak ng1.1.49和配置make-install它,并通过espeak--stdout“这是一个测试”| paplay成功地对它进行了测试。然后我尝试在我在互联网上找到的C++代码(TestStal.CPP)中使用它,如下所示: #include <string.h> #include <vector> #include </usr/local/include/espeak-ng/speak_lib.h> int samplera
espeak ng1.1.49
和配置make-install
它,并通过espeak--stdout“这是一个测试”| paplay
成功地对它进行了测试。然后我尝试在我在互联网上找到的C++代码(TestStal.CPP)中使用它,如下所示:
#include <string.h>
#include <vector>
#include </usr/local/include/espeak-ng/speak_lib.h>
int samplerate; // determined by espeak, will be in Hertz (Hz)
const int buflength = 200; // passed to espeak, in milliseconds (ms)
std::vector<short> sounddata;
int SynthCallback(short *wav, int numsamples, espeak_EVENT *events) {
if (wav == NULL)
return 1; // NULL means done.
/* process your samples here, let's just gather them */
sounddata.insert(sounddata.end(), wav, wav + numsamples);
return 0; // 0 continues synthesis, 1 aborts
}
int main(int argc, char* argv[] ) {
char text[] = {"my name is espeak"};
samplerate = espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL, buflength, NULL, 0);
espeak_SetSynthCallback(&SynthCallback);
espeak_SetVoiceByName("en");
unsigned int flags=espeakCHARS_AUTO | espeakENDPAUSE;
size_t size = strlen(text);
espeak_Synth(text, size + 1, 0, POS_CHARACTER, 0, flags, NULL, NULL);
espeak_Synchronize();
/* in theory sounddata holds your samples now... */
return 0;
}
我知道这个问题是关于链接的,但由于我是Linux新手,不知道如何修复它!我也搜索了很多,但无法理解解决方案:(我得到了正确的编译,请尝试安装
sudo apt-get install espeak-data libespeak-dev espeak-ng
你的收入是多少
#include </usr/local/include/espeak-ng/speak_lib.h>
试试这个
g++ -W -o speaks myEspeak.cpp -lespeak
参考我不会编译它,它不工作可能是一个旧版本,但与你提供的代码和安装这些程序,并改变了你的包括你的代码将编译。我不做太多,我会找到一种方法来存储到一个.wav文件
http://apexlogic.net/code-bank/c-2/espeak-basic-usage-example/
当您从共享库编译时,您需要将它与以下内容链接
-lespeak
嗨,亲爱的,我在这里面临一个新计划:。你能帮我吗?
g++ -W -o speaks myEspeak.cpp -lespeak
http://apexlogic.net/code-bank/c-2/espeak-basic-usage-example/
-lespeak