我使用 Mingw 成功编译了 taglib 1.8,然后将其集成到 Qt 项目中。目的是从 mp3 文件中删除 ID3 标签。
这段代码:
void MainWindow::removeTagFromFile(QByteArray &fileContent)
{
TagLib::ByteVector byteVector(fileContent.constData());
TagLib::ID3v2::FrameFactory *frame = TagLib::ID3v2::FrameFactory::instance();
TagLib::IOStream *vectorStream = new TagLib::ByteVectorStream(byteVector);
TagLib::MPEG::File file(vectorStream, frame);
file.strip();
file.save();
}
在 XP 上编译并正常工作。在 Windows 7 上编译并不能按预期工作。将“在 XP 上编译的 .exe”设置为 7 并不能解决问题。
很奇怪吗?恐怕这是 Taglib 中的一个错误,这有意义吗?欢迎任何想法或解释,在此先感谢。
你可以在这里下载项目
我正在用法语写一篇关于编译和集成到 Qt 项目中的细节的教程,如果有兴趣的人,我会用英文写一篇。