Domanda

Sto cercando di scrivere un programma semplice calcolo bpm in C con utilizzando la libreria aubio.

Tutto sembra andare per il verso liscio fino tento di invitare aubio_tempo_do ( documentazione )

Sfortunatamente, make mi offre l'errore:

‘aubio_tempo_do’ was not declared in this scope

, che non sembra molto senso, considerando la biblioteca aubio prevede questa funzione:

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

tento di includere il file tempo.h nel mio file di intestazione, ma purtroppo la marca di routine continua a becco fuori lo stesso errore.

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

Qualche idea?

== Modifica ===========

Va anche detto che ho tentato:

#include <aubio/tempo/tempo.h>

senza fortuna: \

== Modifica ===========

Output di g ++ con la bandiera -E per controllare preprocessa: http://pastebin.com/mbFEysJ2

Il codice sorgente può essere trovato qui: http://github.com/kellydunn/grover

codice sorgente rilevanti estratto: http://pastebin.com/KRmbZqg4

È stato utile?

Soluzione

Gli argomenti che state attraversando per aubio_tempo_do hanno i tipi giusti?
(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo) Non posso dire dal codice di esempio.

In caso contrario, il compilatore potrebbe essere lamentava che non vede una versione di overload della funzione con una firma che soddisfa le vostre argomentazioni ... (Anche se io penso che ci sarebbe stato un messaggio di errore più descrittivo per questa situazione) .

Altri suggerimenti

Per quanto posso vedere si dovrebbe includere un altro file

#include <aubio/tempo/tempo.h>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top