I'm attempting to write a simple bpm calculation program in C with using the aubio library.
Everything seems to be going smoothly until I attempt to call upon aubio_tempo_do
(documentation)
Unfortuantely, make provides me with the error:
‘aubio_tempo_do’ was not declared in this scope
which doesn't seem to make too much sense, considering the aubio library provides this function:
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);
I attempt to include the tempo.h file in my header file, but alas the make routine continues to spout out the same error.
// header file
#include <aubio/aubio.h>
#include <aubio/tempo.h>
Any thoughts?
== Edit ===========
It should also be said that I've attempted:
#include <aubio/tempo/tempo.h>
With no luck :\
== Edit ===========
Output of g++ with the -E flag to check preprocesses: http://pastebin.com/mbFEysJ2
Source code can be found here: http://github.com/kellydunn/grover
Relevant source code excerpt: http://pastebin.com/KRmbZqg4
do the arguments you are passing to
aubio_tempo_do
have the right types?(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo)
I can't tell from the sample code.If not, the compiler could be complaining that it doesn't see an overloaded version of the function with a signature that matches your arguments... (Although I would think there would be a more descriptive error message for that situation).