如何将 TagLib 1.11.1 设置为我在 OS X 上的 Qt Creator 项目的静态库?

How do I setup TagLib 1.11.1 as a static library for my Qt Creator project on OS X?

我正在 Qt Creator(在 OS X 上)开发一个 C++ 项目,我想使用 TagLib。在网上进行大量研究后,我正在努力弄清楚如何才能在我的项目中使用 TagLib 库。

到目前为止我有:

如有任何帮助,我们将不胜感激。

编辑:

当我添加外部库时,以下内容会添加到我的 .pro 文件中:

win32:CONFIG(release, debug|release): LIBS += -     L$$PWD/../../../Libraries/taglib-1.11.1/taglib/release/ -ltag
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/debug/ -ltag
else:mac: LIBS += -F$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -framework tag
else:unix: LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag

INCLUDEPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
DEPENDPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib

然后我 运行 qmake,项目构建成功并且 运行 没问题。但是,如果我尝试执行类似 #include <tag.h> 的操作,则会出现错误。对于此示例,它表示 'tstring.h' file not found #include "tstring.h"。然后,当我删除错误行时,当我 运行 它 framework not found tag linker command failed with exit code 1 (use -v to see invocation).

时它会给出不同的错误

编辑:

.pro 中的代码更改为:

#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/release/ -ltag
#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/debug/ -ltag
LIBS += -F$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag
#else:unix: LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag

INCLUDEPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
DEPENDPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib

现在我收到错误 library not found for -ltag

这是 ../Libraries/taglib-1.11.1 下文件的图像以及我在 CMake link.

中使用的选项

编辑:

我使用以下方法安装在其中:

  cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release
  make
  sudo make install

现在库中的文件目录看起来像following。然后我在Qt中重新添加了外部目录。所以现在我的 .pro 文件包含:

LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag

INCLUDEPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib
DEPENDPATH += $$PWD/../../../Libraries/taglib-1.11.1/taglib

PRE_TARGETDEPS += $$PWD/../../../Libraries/taglib-1.11.1/taglib/libtag.a

现在 运行 没问题,除非我尝试做类似 #include <tag.h> 的操作,但它给出了错误 'tstring.h' file not found.

如果你只构建 taglib 而没有安装它。

您应该有以下内容:

INCLUDEPATH += \
    /path/to/taglib_source/taglib \
    /path/to/taglib_source/taglib/toolkit \
    /path/to/taglib_builddir/

LIBS += \
    -L/path/to/taglib_builddir/taglib \
    -ltag

如果您使用默认设置安装了 taglib:

INCLUDEPATH += \
    /usr/local/include/taglib

LIBS += \
    -L/usr/local/lib \
    -ltag