4

我正在尝试从 ubuntu 12.04 http://taglib.github.com/上的 taglib 1.8 编译一个示例

我将一个示例复制到目录中fileref.h并尝试使用 g++ 编译它

cp taglib-1.8/examples/tagreader.cpp taglib-1.8/taglib
cd taglib-1.8/taglib/
g++ -o testreader.exe tagreader.cpp 
tagreader.cpp:28:21: fatal error: fileref.h: No such file or directory
compilation terminated.

如何在 ubuntu 上编译 taglib?

编辑

嗨 Lukas - 感谢您的回复。我想制作一个简单的 cli 程序来将 id3 标签写入 mp3 文件(请参阅https://stackoverflow.com/questions/13216094/how-to-write-a-taglib-program-to-write-the-id3v1-title -and-artist-and-the-id3v2)。

到目前为止,我刚刚解压了 taglib 1.8。

(1)如何在 ubuntu 12.04 上构建 taglib?当我尝试您的第二个命令时,出现以下错误

Package taglib was not found in the pkg-config search path.
Perhaps you should add the directory containing `taglib.pc'
to the PKG_CONFIG_PATH environment variable
No package 'taglib' found
tagreader.cpp:28:21: fatal error: fileref.h: No such file or directory
compilation terminated.

但是,该文件taglib.pc甚至不存在。该文件taglib-1.8/taglib.pc.cmake确实存在。

(2)你知道我如何从中获取 `taglib.pc 吗?

4

1 回答 1

10

您想只安装示例,还是使用 TagLib 安装您自己的程序?

您可以构建示例作为构建 TagLib 的一部分:

cmake -DBUILD_EXAMPLES=ON .
make

如果您想构建自己的程序并且已经安装了 TagLib,请使用pkg-config获取必要的命令行选项,例如:

gcc -o test test.cpp $(pkg-config --libs --cflags taglib)

为此,您需要安装 TagLib。您可以从源代码构建它,但如果您不一定需要 TagLib 1.8,只需从 Ubuntu 存储库安装它:

sudo apt-get install libtag1-dev

然后,您将pkg-config在标准位置获得 TagLib 库、头文件和文件,您可以轻松构建自己的应用程序。

此外,您不需要编写简单地写入艺术家姓名和标题的应用程序。tagwriter 示例就是这样做的。或者,如果您需要更复杂的东西,您可以使用这个https://github.com/lalinsky/tagger 。如果没有别的,它可能会作为一个例子。

于 2012-11-04T09:33:39.163 回答