Ich habe die neueste Version von Sphinxbase und PocketSphinx auf meinem Mac installiert. In den CMUs site haben sie einen einfachen Hallo-Welt-Code zur Verfügung gestellt, um die Gültigkeit der Installation zu testen. Der Code sieht so aus:CMU pocketsphinx auf dem Mac: GCC wirft Fehler in stdio.h
#include <pocketsphinx.h>
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);
return 0;
}
und ich habe diesen Befehl geben Sie unten
gcc -o hello_ps hello_ps.c \
-DMODELDIR=\"`pkg-config --variable=modeldir pocketsphinx`\" \
`pkg-config --cflags --libs pocketsphinx sphinxbase`
mit GCC zu kompilieren, wo pkg-config kümmern würde über umfassen und Bibliothekspfade.
Aber die Kompilierung gibt die folgenden Fehler in der Datei stdio.h zurück (pocketsphinx.h enthält die stdio.h).
Restrict requires a pointer or reference (int is invalid)
mehrere Orte in und
Unknown typename _FILE (Expanded from macro 'FILE')
Ich ging auch durch stdio.h Datei und fand diese entsprechenden Aussagen und ich habe keine Ahnung, was es tut. Ich verstehe, dass beschränken Schlüsselwort ist kein Teil von C++ Standard, aber selbst beim Kompilieren mit c99, wirft es immer noch den gleichen Fehler. Jede Hilfe würde sehr geschätzt werden.
Ich denke, Sie Compiler ist kaputt, könnten Sie versuchen, einfache Programm mit FILE und stdio.h kompilieren und sehen, ob es funktioniert. –
Es funktioniert mit einem einfachen Programm zum Lesen von Dateien. – vishnu
Und ich habe es auch mit anderen Compilern wie Clang versucht und die haben wieder die gleichen Fehler bekommen. – vishnu