[qt 4.5.1 win32] Метаданные изображений |
Здравствуйте, гость ( Вход | Регистрация )
[qt 4.5.1 win32] Метаданные изображений |
Elfinit |
15.5.2009, 0:04
Сообщение
#1
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Суть вопроса: иметь в программе возможность просматривать/изменять/добавлять метеданные изображений. Вроде как есть библиотека Exiv2, и даже вроде как есть программка Cchobi, написанная на Qt и юзающая её, но подружить проект на Qt с Exiv2 как-то не удалось. ПОэтому вопрос: либо как подружить, либо есть ли другие решения?
|
|
|
Litkevich Yuriy |
15.5.2009, 1:25
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
первое, что приходит в голову: посмотреть исходники проекта gwenview он нписан для KDE.
Незнаю до какой степени он завязан на кедах, но может всё таки есть там исходники подходящие. Вот я смотрю в хранилище и вижу, что в каталог lib\semanticinfo переехало то, что было в каталоге lib\metadata И каких либо страшных зависимостей от кед, вроде невидно. |
|
|
Elfinit |
15.5.2009, 15:35
Сообщение
#3
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
А с Exiv2 как подружить, нет соображений?
|
|
|
Litkevich Yuriy |
15.5.2009, 16:51
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Elfinit |
15.5.2009, 18:12
Сообщение
#5
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Ну вот собственно на crossplatform.ru в исходниках нашёл программку Cchobi, в которой этот самый Exiv2 юзается для работы с метаданными.
А Exif, как я понял по беглой пробежке по метаданным - это собсно формат для описания их самых. |
|
|
ViGOur |
15.5.2009, 21:53
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
но подружить проект на Qt с Exiv2 как-то не удалось. Ты лучше скажи, что делал по шагам, чтобы подружить и почему не удалось (какие ошибки и прочее).Думаю так будет проще решить твою проблему. Так как не много народу занимается работой с метаданными и не все смогут сказать как и что там, но поправить в случае неправильных действий при сборке или сдруживани многие смогут. |
|
|
igor_bogomolov |
16.5.2009, 1:26
Сообщение
#7
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Накопал решение
Не знаю, правда, какая система сборки у Elfinit, я предлагаю под Windows & MinGW
Компиляция библиотек
Теперь пишем небольшое тестовое приложение. (взято с оф. сайта). exif.pro
main.cpp
Вуаля. Все собирается и прекрасно работает. Оригинал статьи где содрал решение. |
|
|
Elfinit |
16.6.2009, 10:39
Сообщение
#8
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Мерси, всё успешно собралось,сейчас тестовую программу погоняю.
Задача на некоторое время была отложена,а сейчас снова стала актуальной. Пытался решить таким образом: нашёл готовые .dll, .lib и заголовки нужных библиотек, прилинковал к проекту, всё собиралось и запускалось, но на месте вызова функций exiv вылетало системное исключение. |
|
|
Elfinit |
16.6.2009, 11:45
Сообщение
#9
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Ошибка при сборке тестового примера:
C:/msys/z/dev/exiv2/lib//libexiv2.a(XMPUtils.o)(.text+0x1a64):XMPUtils.cpp: undefined reference to `__strtod' И ещё, для чего флаг --disable-shared, мне б желательно всё-таки exiv2 в виде dll собрать.. Собрал без XMP (я так подумал, он впринципе пока не нужен), вроде работает... |
|
|
igor_bogomolov |
16.6.2009, 11:47
Сообщение
#10
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
C:/msys/z/dev/exiv2/lib//libexiv2.a(XMPUtils.o)(.text+0x1a64):XMPUtils.cpp: undefined reference to `__strtod' Скорее всего не подцепил expat. В любом случае пример который я привел выше, полностью рабочий. Нужно только поменять пути к библиотекам, но это думаю и так понятно.И ещё, для чего флаг --disable-shared, мне б желательно всё-таки exiv2 в виде dll собрать.. Сейчас уже не помню. Была какая то проблема со сборкой dll. Нужно править configure. В инете находил, что именно нужно сделать.
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 7:46 |