1

所以我正在修补使用 taglib 库的基本操作系统应用程序。目前我安装了该库,'/usr/include/taglib/'但是当我尝试使用它构建我的应用程序时,sudo ninja install它说它在我的应用程序的已编译 c 代码中找不到该'tag_c.h'文件。然而,这个'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 并让它立即工作?

4

1 回答 1

1

基本操作系统基于 Debian/Ubuntu,所以我认为您也需要安装libtagc0-dev。这包括相关的 pkg-config 文件和 C 头文件以使用 TagLib 的 C 接口。

于 2019-06-15T11:29:06.203 回答