在 Qt 中使用 Taglib 的未定义引用

Undefined reference using Taglib with Qt

我无法让 Taglib 在 Windows 10 64 位上与 Qt 一起工作,但我可以在 GNU/Linux 64 位上使用。

我成功地构建了 Taglib,正如他们使用 cmake 和 Qt 提供的编译器(C:\Qt\Tools\mingw730_64\bin\)和变量 CMAKE_BUILD_TYPE=Release

的手册中所解释的那样

然后使用 Qt 为 MinGW 7.3.0 64 位提供的 shell 我可以 运行 mingw32-make 来构建它。 使用 mingw32-make install 我在 C:\Program Files (x86)\taglib\ .a 和 .h 文件中拥有我需要的一切(没有 .dll?)。

.pro文件生成使用工具在Qt Creator中添加外部库:

LIBS += -L$$PWD/'../../../../../Program Files (x86)/taglib/lib/' -llibtag

INCLUDEPATH += $$PWD/'../../../../../Program Files (x86)/taglib/include'
DEPENDPATH += $$PWD/'../../../../../Program Files (x86)/taglib/include'

cpp 代码:

void MainWindow::test()
{
    TagLib::FileRef f("Latex Solar Beef.mp3");
}

我错过了

DEFINES += TAGLIB_STATIC

问题已解决