0

aubioライブラリを使用してCで簡単なbpm計算プログラムを作成しようとしています。

aubio_tempo_doドキュメント)を呼び出そうとするまで、すべてが順調に進んでいるようです。

残念ながら、makeはエラーを提供します:

‘aubio_tempo_do’ was not declared in this scope

aubioライブラリがこの関数を提供していることを考えると、これはあまり意味がないようです。

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

ヘッダーファイルにtempo.hファイルをインクルードしようとしましたが、残念ながら、makeルーチンは同じエラーを出力し続けます。

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

何かご意見は?

==編集===========

私が試みたとも言われるべきです:

#include <aubio/tempo/tempo.h>

運がない:\

==編集===========

前処理をチェックするための-Eフラグ付きのg++の出力:http://pastebin.com/mbFEysJ2

ソースコードはここにあります:http://github.com/kellydunn/grover

関連するソースコードの抜粋:http://pastebin.com/KRmbZqg4

4

2 に答える 2

1

私が見る限り、別のファイルを含める必要があります

#include <aubio/tempo/tempo.h>
于 2011-01-28T21:58:10.220 に答える
1

あなたが渡した引数aubio_tempo_doは正しいタイプを持っていますか?
(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo) サンプルコードからはわかりません。

そうでない場合、コンパイラは、引数に一致する署名を持つ関数のオーバーロードされたバージョンが表示されないと文句を言う可能性があります...(ただし、その状況については、より説明的なエラーメッセージがあると思います)。

于 2011-01-29T01:49:21.950 に答える