2016-07-25 1 views
-1

im essayant de commencer à utiliser pocketsphinx mais je reçois cette erreur:symboles non résolues construction d'applications pocketsphinx

gcc -I /home/noahchalifour/libraries/pocketsphinx/include -I /home/noahchalifour/libraries/sphinxbase/include pocketsphinx.c -o pocketsphinx 
/tmp/ccagvqgz.o: In function `main': 
pocketsphinx.c:(.text+0x20): undefined reference to `ps_args' 
pocketsphinx.c:(.text+0x6b): undefined reference to `cmd_ln_init' 
collect2: error: ld returned 1 exit status 

chaque fois que je lance ce code:

#include <pocketsphinx.h> 

#define MODELDIR "/home/libraries/pocketsphinx/model" 

int main(int argc, char *argv[]) 
{ 
    ps_decoder_t *ps = NULL; 
    cmd_ln_t *config = NULL; 

    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); 

    printf("Success!\n"); 

    return 0; 
} 
+1

Copie possible de [Qu'est-ce qu'une erreur de symbole externe non résolue/non résolue et comment la réparer?] (Http://stackoverflow.com/questions/12573816/what-is-an-defined-reference-unresolved- external-symbol-error-and-how-do-i-fix) – Olaf

+0

J'ai lu la page et il semble que ce soit la même chose, mais je ne comprends pas comment la réparer dans ma situation. pouvez-vous aider plz? @Olaf –

Répondre

1

Vous devez également créer un lien vers la bibliothèque pocketsphinx :

gcc -I /home/noahchalifour/libraries/pocketsphinx/include \ 
    -I /home/noahchalifour/libraries/sphinxbase/include \ 
    -L /home/noahchalifour/libraries/pocketsphinx/lib \ 
    -L /home/noahchalifour/libraries/sphinxbase/lib \ 
    -lpocketsphinx -lsphinxbase -lsphinxad 
    pocketsphinx.c -o pocketsphinx 

J'ai supposé l'emplacement de libpocketphinx.so, libsphinxbase.so et libsphinxad.so en utilisant le préfixe que vous avez fourni pour les inclusions.