Vala: использование библиотеки не сработает: taglib, tag_c.h не найден - PullRequest
1 голос
/ 15 июня 2019

Итак, я работаю над созданием приложения для элементарных ОС, которое использует библиотеку taglib.В настоящее время я установил библиотеку на '/usr/include/taglib/', но когда я пытаюсь собрать свое приложение с sudo ninja install, он говорит, что не может найти файл 'tag_c.h' в скомпилированном коде c моего приложения.Этот файл 'tag_c.h' может быть найден в указанном выше каталоге.

Важные части моего файла мезонов выглядят следующим образом:

dependencies = [
    dependency('gio-unix-2.0', version: '>=2.20'),
    dependency('granite'),
    dependency('taglib_c')
]
...
executable(
    meson.project_name(),
    code_files,
    dependencies: dependencies,
    install: true
)

При удалении строк кода, которые фактически используют библиотеку TagLib, я не получаю ошибок при сборке приложения:

 TagLib.File f = new TagLib.File(path);

Так, может быть, это означает, что он находит vapi, но не может найти для него код c?

Прежде всего, как мне решить эту проблему?

Во-вторых, это просто проблема на моей машине?Как мне убедиться, что другие люди, которые устанавливают мое приложение, также устанавливают taglib, просто создав его и сделав так, чтобы оно работало сразу?

1 Ответ

1 голос
/ 15 июня 2019
Элементарная ОС

основана на Debian / Ubuntu, поэтому я думаю, что вам также нужно установить libtagc0-dev. Это включает в себя соответствующий файл pkg-config и заголовок C для использования интерфейса C TagLib.

...