Я работаю над проектом C ++ в Qt Creator (на OS X), и я хочу использовать TagLib. После долгих онлайн-исследований я пытаюсь понять, как добраться до точки, где я могу использовать библиотеку TagLib в своем проекте.
Пока что у меня есть:
taglib-1.11.1.tar
и разархивировал содержимое.Любая помощь с этим будет высоко ценится, спасибо.
Редактировать:
Когда я добавляю внешнюю библиотеку, в мой файл .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 ссылка на сайт.
Редактировать:
Я установил в нем, используя следующее:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release
make
sudo make install
Теперь каталог файлов в библиотеке выглядит как следующий. Затем я повторно добавил внешний каталог в 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
Других решений пока нет …