Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Мультимедиа _ Qt + libtag

Автор: Denzel 19.2.2010, 20:45

В качестве самообучения решил для себя написать аудиоплеер на Qt, все бы ничего, но возникла проблема при подключении библиотеки http://developer.kde.org/~wheeler/taglib.html для работы с тегами аудио файлов.
Суть в следующем:
Скачал http://ftp.musicbrainz.org/pub/musicbrainz/users/luks/taglib/ бинарную сборку библиотеки (taglib-1.5-mingw-bin.zip) и сорцы (правда версии другой немного: taglib-1.6.tar.gz). В .pro файл добавил следующее:

INCLUDEPATH += taglib
...
win32:LIBS += libtag.dll.a

При попытке сборки проекта получаю следующее:
c:/qt/2010.02/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -ltag.dll.a

В общем, я так понял нужно полностью из исходников собрать библиотеку, которая в свою очередь поставится, например, куда-то в дебри c:\Qt\2010.02\mingw\lib\ (или еще куда-то, не суть).
Собственно как собрать всю эту беду под виндой (т.е. в итоге получить работающий Qt проект с использованием taglib)? На лине все решается относительно просто, а вот на винде немного не сообразил. Запутался в общем...

Заранее спасибо.

Автор: Litkevich Yuriy 19.2.2010, 21:29

Цитата(Denzel @ 19.2.2010, 23:45) *
win32:LIBS += libtag.dll.a
странное расширение у файла.


Обычно вся внешняя кутерьма подключается к проекту так: Делаешь каталог для сторонней библиотеки, если его ещё нет, в неё помещаешь
1) библиотечные файлы (статические или динамические), если собирал из исходников сам, то можно в отдельный подкаталог, например, build
2) каталог include с заголовочниками
3) pri-файл одноимённый с библиотекой (можно и версией), например, somelib-1.1.5, следующего содержания:
INCLUDEPATH       +=    $$PWD/include
QMAKE_LIBDIR   +=    $$PWD/build
LIBS           +=  -lname
, где name имя файла библиотеки без расширения
Далее в своём проекте пишешь:
include(pat/to/somelib-1.1.5.pri)

Автор: Denzel 19.2.2010, 22:30

Вся проблема заключается в самом собирании из исходников. На оффсайте написано что все собирается cmake`ом, но т.к. я раньше особо с системами автоматизированной сборки дел не имел, поэтому для меня это стало проблемой. При попытках собрать, напарывался на ворох ошибок, да и только. Не подскажете, желательно на примере данной библиотеки (пакет весит копейки, да и времени думаю не много займет вся возня), как ее собрать нормально? Был бы очень признателен.

Автор: Litkevich Yuriy 19.2.2010, 22:57

Denzel,
1) Ты разобрался, как бинарную сборку использовать, работает?
2) CMake установлен?

Автор: Denzel 19.2.2010, 23:54

1) Да, спасибо большое, получилось заставить бинарную сборку работать. Есть небольшие проблемы, вроде вылета приложения при использовании определенных функций библиотеки, но думаю это из-за несоответствия версий бинарной библиотеки и заголовочных файлов. Ну или я банально напортачил на ночь глядя, разберусь...
2) Да установлен, но никак не настраивался вообще. Вот насчет сборки хотелось бы попробовать...

Автор: Litkevich Yuriy 20.2.2010, 0:55

Цитата(Denzel @ 20.2.2010, 2:54) *
2) Да установлен, но никак не настраивался вообще. Вот насчет сборки хотелось бы попробовать...
Создай тему, например, "Сборка чужого проекта с помощью CMake". Чтобы не делать кашу в теме с совершенно другим названием.

Автор: novichkov 25.3.2010, 20:40

Я ничего не компилировал (ну,то есть, когда использовал сборку taglib 1.5 для windows). Просто указал в .pro файле INCLUDEPATH и LIBS. Потом уже скомпилировал библиотеку 1.6.1, установив cmake. В итоге использую следующее:

win32 {
INCLUDEPATH += . taglib-1.6.1-mingw-bin/include
LIBS += taglib-1.6.1-mingw-bin/lib/libtag.dll.a
}


А для linux еще проще:

CONFIG += link_pkgconfig qt
PKGCONFIG += taglib


Могу отправить собранную версию taglib 1.6.1 для windows

Автор: fe120 30.3.2010, 12:38

здесь приложение задача которого редактироват теги. используеца в нем именно libtag
я по нему ориентировался=)
там и для винды и для линуксов сформирован *.pro файл

http://www.crossplatform.ru/node/921

Автор: Ivan Fantom 26.3.2012, 11:39

novichkov, прошу, отправь собранную версию taglib 1.6.1 для windows на ziv78@yandex.ru

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)