Pregunta

Estoy intentando escribir un programa de cálculo de BPM simple en C con el uso de la biblioteca Aubio.

Todo parece ir bien hasta que intente llamar aubio_tempo_do (documentación)

Desafortunadamente, hacer me proporciona el error:

‘aubio_tempo_do’ was not declared in this scope

Lo que no parece tener demasiado sentido, considerando que la biblioteca Aubio proporciona esta función:

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

Intento incluir el archivo Tempo.h en mi archivo de encabezado, pero, por desgracia, la rutina Make continúa lanzando el mismo error.

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

¿Alguna idea?

== editar ===========

También se debe decir que he intentado:

#include <aubio/tempo/tempo.h>

Sin suerte:

== editar ===========

Salida de G ++ con el indicador -e para verificar los preprocesos: http://pastebin.com/mbfeysj2

El código fuente se puede encontrar aquí: http://github.com/kellydunn/grover

Extracto de código fuente relevante: http://pastebin.com/krmbzqg4

¿Fue útil?

Solución

hacer los argumentos a los que está pasando aubio_tempo_do ¿Tienes los tipos correctos?
(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo)No puedo decir desde el código de muestra.

Si no, el compilador podría quejarse de que no ve una versión sobrecargada de la función con una firma que coincida con sus argumentos ... (aunque creo que habría un mensaje de error más descriptivo para esa situación).

Otros consejos

Por lo que puedo ver, debe incluir otro archivo

#include <aubio/tempo/tempo.h>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top