所以我正在尝试为使用 taglib 库的 elementary os 制作一个应用程序。目前我将库安装到 '/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,仅通过介子构建它并使其立即运行?
最佳答案
elementary OS 基于 Debian/Ubuntu,所以我认为您还需要安装 libtagc0-dev
。这包括相关的 pkg-config 文件和 C 头文件以使用 TagLib 的 C 接口(interface)。
关于c - Vala:使用库不起作用:找不到 taglib、tag_c.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56609077/