含める後に宣言されていない方法
-
27-10-2019 - |
質問
Aubio Libraryを使用してCで簡単なBPM計算プログラムを作成しようとしています。
私が呼びかけようとするまで、すべてがスムーズに進んでいるようです aubio_tempo_do
(ドキュメンテーション)
不幸なことに、Makeは私にエラーを提供します:
‘aubio_tempo_do’ was not declared in this scope
Aubio Libraryがこの機能を提供することを考えると、これはあまり意味がないようです。
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);
Headerファイルに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
解決
あなたが渡している議論をしてください aubio_tempo_do
適切なタイプがありますか?
(aubio_tempo_t *o, fvec_t * input, fvec_t * tempo)
サンプルコードからはわかりません。
そうでない場合、コンパイラは、あなたの引数に一致する署名を持つ関数の過負荷バージョンが表示されないと不平を言っている可能性があります...(その状況にはより説明的なエラーメッセージがあると思いますが)。
他のヒント
私が見ることができる限り、あなたは別のファイルを含めるべきです
#include <aubio/tempo/tempo.h>
所属していません StackOverflow