Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Qt + libtag
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Мультимедиа
Denzel
В качестве самообучения решил для себя написать аудиоплеер на Qt, все бы ничего, но возникла проблема при подключении библиотеки 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
Цитата(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
Вся проблема заключается в самом собирании из исходников. На оффсайте написано что все собирается cmake`ом, но т.к. я раньше особо с системами автоматизированной сборки дел не имел, поэтому для меня это стало проблемой. При попытках собрать, напарывался на ворох ошибок, да и только. Не подскажете, желательно на примере данной библиотеки (пакет весит копейки, да и времени думаю не много займет вся возня), как ее собрать нормально? Был бы очень признателен.
Litkevich Yuriy
Denzel,
1) Ты разобрался, как бинарную сборку использовать, работает?
2) CMake установлен?
Denzel
1) Да, спасибо большое, получилось заставить бинарную сборку работать. Есть небольшие проблемы, вроде вылета приложения при использовании определенных функций библиотеки, но думаю это из-за несоответствия версий бинарной библиотеки и заголовочных файлов. Ну или я банально напортачил на ночь глядя, разберусь...
2) Да установлен, но никак не настраивался вообще. Вот насчет сборки хотелось бы попробовать...
Litkevich Yuriy
Цитата(Denzel @ 20.2.2010, 2:54) *
2) Да установлен, но никак не настраивался вообще. Вот насчет сборки хотелось бы попробовать...
Создай тему, например, "Сборка чужого проекта с помощью CMake". Чтобы не делать кашу в теме с совершенно другим названием.
novichkov
Я ничего не компилировал (ну,то есть, когда использовал сборку 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
здесь приложение задача которого редактироват теги. используеца в нем именно libtag
я по нему ориентировался=)
там и для винды и для линуксов сформирован *.pro файл

http://www.crossplatform.ru/node/921
Ivan Fantom
novichkov, прошу, отправь собранную версию taglib 1.6.1 для windows на ziv78@yandex.ru
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.