Vala: использование библиотеки не сработает: taglib, tag_c.h не найден

Итак, я пытаюсь создать приложение для elementary os, которое использует библиотеку 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, просто создав его месоном, и он сразу заработает?


person guardian    schedule 15.06.2019    source источник


Ответы (1)


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

person AlThomas    schedule 15.06.2019