在 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
问题已解决
我无法让 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
问题已解决