Question

Je tente d'écrire un programme de calcul simple bpm en C avec l'aide de la bibliothèque aubio.

Tout semble aller bien jusqu'à ce que je tente de faire appel à aubio_tempo_do ( documentation )

Unfortuantely, make me donne l'erreur:

‘aubio_tempo_do’ was not declared in this scope

qui ne semble pas faire trop de sens, compte tenu de la bibliothèque aubio offre cette fonction:

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

Je tente d'inclure le fichier tempo.h dans mon fichier d'en-tête, mais hélas la routine make continue à gicler la même erreur.

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

Toutes les pensées?

== Modifier ===========

Il faut dire aussi que je l'ai essayé:

#include <aubio/tempo/tempo.h>

pas de chance: \

== Modifier ===========

Sortie de g ++ avec le drapeau -E pour vérifier prétraitements: http://pastebin.com/mbFEysJ2

Le code source est disponible ici: http://github.com/kellydunn/grover

Code source pertinente extrait: http://pastebin.com/KRmbZqg4

Était-ce utile?

La solution

ne les arguments que vous passer à aubio_tempo_do ont les bons types
(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo) Je ne peux pas dire à partir du code exemple.

Dans le cas contraire, le compilateur peut se plaindre qu'il ne voit pas une version surchargée de la fonction avec une signature qui correspond à vos arguments ... (Même si je pense qu'il y aurait un message d'erreur plus descriptif pour cette situation) .

Autres conseils

Pour autant que je peux voir, vous devez inclure un autre fichier

#include <aubio/tempo/tempo.h>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top