Вопрос

Я пытаюсь написать простую программу расчета BPM в C с использованием библиотеки Aubio.

Кажется, все идет гладко, пока я не попытаюсь позвонить 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);

Я пытаюсь включить файл tepo.h в свой файл заголовка, но, увы, подпрограмма Make продолжает выпускать ту же ошибку.

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

Какие-нибудь мысли?

== РЕДАКТИРОВАТЬ ===========

Следует также сказать, что я попытался:

#include <aubio/tempo/tempo.h>

Без повезло:

== РЕДАКТИРОВАТЬ ===========

Вывод G ++ с флагом -e для проверки предварительных обработок: 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top