C++ 添加C+失败+;图书馆

C++ 添加C+失败+;图书馆,c++,qt,dll,taglib,C++,Qt,Dll,Taglib,我准备TagLib用于我的TagLib项目,如下所示: 视窗10 生成生成文件: 打开cmakegui 设置路径。 “源代码在哪里”和“二进制文件在哪里生成” 例如,两者都是:C:\GitRoot\taglib 勾号:高级 选择:配置 选择:生成器 勾选:使用默认本机编译器 选择:完成 等待完成 如果使用ZLib,请向下滚动。 (在选项列表的底部…应检查所有选项) 编辑:ZLIB_INCLUDE_DIR 编辑:ZLIB_库 选择:生成 建设项目: MinGW: C:\GitRoot\tagl

我准备TagLib用于我的TagLib项目,如下所示:

视窗10
  • 生成生成文件:

  • 打开cmakegui
  • 设置路径。 “源代码在哪里”和“二进制文件在哪里生成” 例如,两者都是:C:\GitRoot\taglib
  • 勾号:高级
  • 选择:配置
  • 选择:生成器
  • 勾选:使用默认本机编译器
  • 选择:完成 等待完成
  • 如果使用ZLib,请向下滚动。 (在选项列表的底部…应检查所有选项)
  • 编辑:ZLIB_INCLUDE_DIR
  • 编辑:ZLIB_库
  • 选择:生成
  • 建设项目: MinGW: C:\GitRoot\taglib>gmake

  • 安装项目: MinGW: C:\GitRoot\taglib>gmake安装

  • 我将上述生成的文件复制到Qt上的Taglib项目中,因此现在这是我的taglibtest项目文件夹结构:

    然后将以下文件添加到我的项目中:

    F::\taglibtest\taglib\lib\libtag.dll.a**
    F:\taglibtest\taglib\lib\libtag_c.dll.a**

    正如您在下面的tablibtest.pro中所看到的

    taglibtest.pro

    QT += core
    QT -= gui
    
    CONFIG += c++11
    
    TARGET = taglibtest
    CONFIG += console
    CONFIG -= app_bundle
    
    TEMPLATE = app
    
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/taglib/lib/ -llibtag.dll
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/taglib/lib/ -llibtag.dlld
    
    INCLUDEPATH += $$PWD/taglib/include
    DEPENDPATH += $$PWD/taglib/include
    
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/taglib/lib/ -llibtag_c.dll
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/taglib/lib/ -llibtag_c.dlld
    
    INCLUDEPATH += $$PWD/taglib/include
    DEPENDPATH += $$PWD/taglib/include
    
    HEADERS += \
        taglib/include/taglib/aifffile.h \
        taglib/include/taglib/aiffproperties.h \
        etc.... \
        etc.... \
        etc....
    
    大体上:

    **main.cpp**
    
        #include <QCoreApplication>
        #include <QDebug>
    
        #include <taglib/include/taglib/fileref.h>
    
        int main(int argc, char *argv[])
        {
            QCoreApplication a(argc, argv);
            TagLib::FileRef f("E:/Dire Straits - Sultans of Swing.mp3");
            return a.exec();
        }
    
    我在项目中遗漏了什么?我应该在项目中包括哪些文件以使用Taglib框架


    提前谢谢大家。

    我认为,在windows中,您应该链接libtag.lib而不是libtag.dll。该代码由Qt自动生成。我使用Qt添加libs:
    project->右键单击->添加库
    我认为,在windows中,应该链接libtag.lib而不是libtag.dll。该代码由Qt自动生成。我使用Qt添加库:
    project->右键单击->添加库
    :-1: error: cannot find -llibtag.dll
    :-1: error: cannot find -llibtag_c.dll
    collect2.exe:-1: error: error: ld returned 1 exit status