crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Qt + libtag, работа с аудио тегами
Denzel
  опции профиля:
сообщение 19.2.2010, 20:45
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 22.1.2010
Пользователь №: 1395

Спасибо сказали: 0 раз(а)




Репутация:   0  


В качестве самообучения решил для себя написать аудиоплеер на 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
  опции профиля:
сообщение 19.2.2010, 21:29
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9637
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


Цитата(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
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 22.1.2010
Пользователь №: 1395

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вся проблема заключается в самом собирании из исходников. На оффсайте написано что все собирается cmake`ом, но т.к. я раньше особо с системами автоматизированной сборки дел не имел, поэтому для меня это стало проблемой. При попытках собрать, напарывался на ворох ошибок, да и только. Не подскажете, желательно на примере данной библиотеки (пакет весит копейки, да и времени думаю не много займет вся возня), как ее собрать нормально? Был бы очень признателен.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.2.2010, 22:57
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9637
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


Denzel,
1) Ты разобрался, как бинарную сборку использовать, работает?
2) CMake установлен?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Denzel
  опции профиля:
сообщение 19.2.2010, 23:54
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 22.1.2010
Пользователь №: 1395

Спасибо сказали: 0 раз(а)




Репутация:   0  


1) Да, спасибо большое, получилось заставить бинарную сборку работать. Есть небольшие проблемы, вроде вылета приложения при использовании определенных функций библиотеки, но думаю это из-за несоответствия версий бинарной библиотеки и заголовочных файлов. Ну или я банально напортачил на ночь глядя, разберусь...
2) Да установлен, но никак не настраивался вообще. Вот насчет сборки хотелось бы попробовать...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.2.2010, 0:55
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9637
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


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


Студент
*

Группа: Участник
Сообщений: 64
Регистрация: 20.3.2008
Из: Северодвинск
Пользователь №: 128

Спасибо сказали: 6 раз(а)




Репутация:   1  


Я ничего не компилировал (ну,то есть, когда использовал сборку 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
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 6.1.2010
Пользователь №: 1354

Спасибо сказали: 1 раз(а)




Репутация:   0  


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

http://www.crossplatform.ru/node/921
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Ivan Fantom
  опции профиля:
сообщение 26.3.2012, 11:39
Сообщение #9


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 26.3.2012
Пользователь №: 3288

Спасибо сказали: 0 раз(а)




Репутация:   0  


novichkov, прошу, отправь собранную версию taglib 1.6.1 для windows на ziv78@yandex.ru
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.6.2018, 10:18