Frage

Ich versuche, mit der Aubio -Bibliothek ein einfaches BPM -Berechnungsprogramm in C in C zu schreiben.

Alles scheint reibungslos zu laufen, bis ich versuche, mich anzurufen aubio_tempo_do (Dokumentation)

Leider bietet mir Make mir den Fehler:

‘aubio_tempo_do’ was not declared in this scope

Was nicht zu viel Sinn zu machen scheint, wenn man bedenkt, dass die Aubio -Bibliothek diese Funktion liefert:

grep -r "aubio_tempo_do" /usr/local/include/aubio/
/usr/local/include/aubio/tempo/tempo.h:void aubio_tempo_do (aubio_tempo_t *o, fvec_t * input, fvec_t * tempo);

Ich versuche, die Tempo.h -Datei in meine Header -Datei aufzunehmen, aber auch die Routine macht weiterhin den gleichen Fehler aus.

// header file
#include <aubio/aubio.h>
#include <aubio/tempo.h>

Irgendwelche Gedanken?

== edit ===========

Es sollte auch gesagt werden, dass ich versucht habe:

#include <aubio/tempo/tempo.h>

Ohne Glück:

== edit ===========

Ausgabe von G ++ mit dem -e -Flag, um die Vorverarbeitungen zu überprüfen: http://pastebin.com/mbfeysj2

Der Quellcode finden Sie hier: http://github.com/kellydunn/grover

Relevanter Quellcodeauszug: http://pastebin.com/krmbzqg4

War es hilfreich?

Lösung

Machen Sie die Argumente, an die Sie übergehen aubio_tempo_do Haben Sie die richtigen Typen?
(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo)Ich kann es nicht aus dem Beispielcode erkennen.

Wenn nicht, könnte sich der Compiler beschweren, dass er keine überlastete Version der Funktion mit einer Signatur sieht, die Ihren Argumenten entspricht ... (obwohl ich denken würde, dass es eine beschreibendere Fehlermeldung für diese Situation geben würde).

Andere Tipps

Soweit ich sehen kann, sollten Sie eine andere Datei einschließen

#include <aubio/tempo/tempo.h>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top