crossplatform.ru

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

PassiveX
  опции профиля:
сообщение 9.2.2009, 19:24
Сообщение #1


Новичок


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

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




Репутация:   0  


Имею программу, которая пользует webkit. Появилась проблема, что он некоторые типа картинок не отображает на компах, где я не веду разработку.
А веду разработку под Маком и Вендой. Под макос получилось скомпилить qt статически, и прога потом на других маках свободно бегала и все картинки на инет-страницах грузила и показывала. Под виндовс скомпилить как надо ни разу не получилось, постоянные ошибки, устал вытирать пот, поэтому таскаю за собой dll-ки. Но программка моя упорно не хочет показывать gif (заменяет фирменным webkit-овскими вопросами).

Пробовал addLibraryPath натравить на папку с imageformats, клал её в папку с ехе-шником, делал на тестовых компах папку c:\qt\4.4.3\plugins и копировал туда всю папку imageformats и папки plugins, ничего не помогает.

Скажите, я хотя бы на правильном пути?
WinXP, Qt 4.4.3
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 18)
Litkevich Yuriy
  опции профиля:
сообщение 9.2.2009, 19:34
Сообщение #2


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

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

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




Репутация:   94  


Цитата(PassiveX @ 9.2.2009, 22:24) *
Пробовал addLibraryPath натравить на папку с imageformats, клал её в папку с ехе-шником, делал на тестовых компах папку c:\qt\4.4.3\plugins и копировал туда всю папку imageformats и папки plugins, ничего не помогает.
по этому поводу (динамическая сборка) читай в теме FAQ (что в верху подфорума) "развертывание приложений Qt в MS Windows"



Цитата(PassiveX @ 9.2.2009, 22:24) *
Появилась проблема, что он некоторые типа картинок не отображает на компах, где я не веду разработку.
Цитата(PassiveX @ 9.2.2009, 22:24) *
Под виндовс скомпилить как надо ни разу не получилось,
есть проблема со статической сборкой именно с картинками. Как я понял только с имеющими не свободную лицензию. Вроде в 4.5. ее должны были исправить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.2.2009, 13:37
Сообщение #3


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


получается хоть собрано и динамически все равно не отображает гиф.....

а в примерах-демонстрациях браузер у тебя под виндой гиф показывает???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PassiveX
  опции профиля:
сообщение 10.2.2009, 17:23
Сообщение #4


Новичок


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

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




Репутация:   0  


Я дополню свой вопрос, потому что я в нём успел за сутки немного продвинуться

Во-первых я уточню, что собрать-то статически Qt получается при определённых параметрах configure.exe. Проблема в другом, линковщик не может слинковать прогу с библиотекой webkit'а, ругаясь в консоли про undefined reference на страшные наборы букв, в которых есть знакомые (типа webframe, webpage). Я понимаю, если бы он ругался в случае отсутствия статично-откомпиленной библиотеки, а вебкит скомпилился без ошибок.

Во-вторых, к вопросу основной темы.
Системные переменные оказались не причем, ровно как и реестр. Ровно как и вся папка Qt на диске С!
Я рвал от злости на себе волосы, когда вдруг понял причину непоказа картинок. Да, это зависимость на plugins/imageformats. Только ради экономии времени я подменял ехе-шник на сетевых шарах, а не копировал новый билд на соседний компьютер. Запускал прям из сети, что в таких случаях почему-то вело к неуспеху.
Но проблема до конца не решилась.

Дело в том, что картинки в браузере показываются только в debug-версии программы. Такому неоконченному успеху поспособствовал файл qt.conf в папке с программой, который я создал всего из двух строк:
[Paths]
#Prefix=C:\\Qt\\4.4.3

Не случайно закомментил последнюю строку, так как только так QLibraryInfo::PrefixPath становится равным директории, из которой программа запускается, и тогда плагины для просмотра графики подгружаются. Если файл не создавать, то QLibraryInfo::PrefixPath указывает на до боли знакомую папку C:\iwmake\build_mingw_opensource, которую я само собой не создавал

Чую жопой, что эта папка волшебная, по ходу разработчики Qt в ней что-то творят. Помнится, год назад с ней были проблемы при компиляции одного проекта.

Таким образом, выдавая информацию об QLibraryInfo::location(QLibraryInfo::PrefixPath), QLibraryInfo::location(QLibraryInfo::PluginsPath), а также QCoreApplication::applicationDirPath () для приличия, получается тотальное идиотство. Все пути совпадают с папками, в которых лежит прога и папка plugins с копированным содержимым imageformats внутри. Только debug-версия картинки показывает, а release - нет!

Предчувствуя вопросы, повторюсь, что да, в папке imageformats лежат как dll'ки для дебуга, так и для релиза.

Товрищи, сил моих больше нет. Давайте дифдиагнозом что ли эту тварь придушим?

Цитата(Litkevich Yuriy @ 9.2.2009, 19:34) *
есть проблема со статической сборкой именно с картинками. Как я понял только с имеющими не свободную лицензию. Вроде в 4.5. ее должны были исправить


Юрий, буду благодарен куску текста от официального источника, где это будет написано. А то наш одмин твердит то же самое, сам не напрограммировав и пары строчек кода в своей жизни, а сам я на сайте Qt тоже ничего не увидел.
Повторюсь, что WebKit скомпилить мне удалось, проблема в линковке была. А вообще эта тема про картинки. Уж они-то слабо должны быть связаны с LGPL :)

Цитата(kwisp @ 10.2.2009, 13:37) *
а в примерах-демонстрациях браузер у тебя под виндой гиф показывает???


да, проблемы не существует на компьютерах, где установлен Qt. Проблема в распространении программы, раз у меня статически ничего линковаться не хочется, то надо таскать за собой dll'ки, среди которых плагины чтения картинок не подгружаются
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2009, 17:44
Сообщение #5


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

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

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




Репутация:   94  


Цитата(PassiveX @ 10.2.2009, 20:23) *
Юрий, буду благодарен куску текста от официального источника, где это будет написано.
надо искать на прогорге, там один из трольтеховцев (русскоговорящий) это дело подтверждал. А может и на трэкере тролей есть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.2.2009, 17:55
Сообщение #6


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата
Проблема в другом, линковщик не может слинковать прогу с библиотекой webkit'а, ругаясь в консоли про undefined reference на страшные наборы букв, в которых есть знакомые (типа webframe, webpage). Я понимаю, если бы он ругался в случае отсутствия статично-откомпиленной библиотеки, а вебкит скомпилился без ошибок


что то подобное происходит если в файл проекта не добавишь
QT+=webkit

как впрочем и другие модули хмл скл и т.д

попозже обещаю попробовать собрать проект с вебкит статически у меня он тоже в проге есть...
пока со временем туго...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2009, 18:00
Сообщение #7


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

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

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




Репутация:   94  


Цитата(PassiveX @ 10.2.2009, 20:23) *
то надо таскать за собой dll'ки, среди которых плагины чтения картинок не подгружаются
ты прочитал, то что я давал по поводу динамической сборки в сообщении №2
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.2.2009, 18:03
Сообщение #8


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата
Проблема в распространении программы, раз у меня статически ничего линковаться не хочется, то надо таскать за собой dll'ки, среди которых плагины чтения картинок не подгружаются


странно.... у меня 4.4.3 динамически собранный проект c WebKit прекрасно все на других машинах(без установленного Qt) отображает.


я собирал

configure -release -platform win32-g++ -no-vcproj -webkit -assistant-webkit

Сообщение отредактировал kwisp - 10.2.2009, 18:04
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Константин
  опции профиля:
сообщение 10.2.2009, 18:06
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 69
Регистрация: 9.2.2009
Пользователь №: 539

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




Репутация:   1  


Цитата(Litkevich Yuriy @ 10.2.2009, 17:44) *
надо искать на прогорге, там один из трольтеховцев (русскоговорящий) это дело подтверждал. А может и на трэкере тролей есть

Цитата
>> [qt 4.4.1] Нет иконок в print preview в static версии
>> Делаю print preview в Windows, иконок верхней панели нет, только кнопочки. В Linux в shared версии все good.

К сожалению это известная проблема, решения для которой пока нет, ибо поддержка соответствующих графических форматов реализована в плагинах, которые нельзя использовать при статической сборке.

больше в том треде ничего, собственно, нет по теме.

в данном же слечае проблема иная (раз уж даже с плагинами не хочет заводиться)
Цитата(PassiveX @ 10.2.2009, 17:23) *
Чую жопой, что эта папка волшебная <snip>

папка не волшебная. видимо, в неё устанавливали (или собирали в ней) кутэ для последующей упаковки.

я бы посоветовал скачать тарболл с исходниками (qt-all-*-x.y.z) и собрать начисто без последующей установки, а затем обновить бинарники на тестовых машинах. также можно поубивать software\trolltech в реестрах - чтобы уж наверняка.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.2.2009, 18:15
Сообщение #10


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата
в static версии

а человек пишет
Цитата
.... то надо таскать за собой dll'ки, среди которых плагины чтения картинок не подгружаются


получается проблема родтвенная но не точно такая же.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PassiveX
  опции профиля:
сообщение 10.2.2009, 18:18
Сообщение #11


Новичок


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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 10.2.2009, 18:00) *
ты прочитал, то что я давал по поводу динамической сборки в сообщении №2


Да, конечно, не помогает всё равно
Пути ставит правильные, все плагины я разместил по своим местам
Проблема не изменилась, дебуг картинки кажет, релиз нет :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2009, 18:28
Сообщение #12


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

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

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




Репутация:   94  


Цитата(PassiveX @ 10.2.2009, 21:18) *
дебуг картинки кажет, релиз нет
это и в любом стандартном примере так?
яб навсякий случай почистил кэш плагинов, как говорил Константин.
либо эту подветку прибил: HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults
либо всю HKEY_CURRENT_USER\Software\Trolltech
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PassiveX
  опции профиля:
сообщение 10.2.2009, 18:29
Сообщение #13


Новичок


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

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




Репутация:   0  


Цитата(kwisp @ 10.2.2009, 17:55) *
что то подобное происходит если в файл проекта не добавишь
QT+=webkit


добавлен первым делом
хотя да, подмечено верно

плюс .pro-файл у меня один для двух платформ (я под маком тоже разрабатываю прогу), и под маком всё статически собралось легко
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.2.2009, 18:40
Сообщение #14


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата
webkit'а, ругаясь в консоли про undefined reference на страшные наборы букв, в которых есть знакомые (типа webframe, webpage).


пардон за назойливость.
и в мэйкфайле релизовском библитека webkit конечно добавлена....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PassiveX
  опции профиля:
сообщение 10.2.2009, 18:50
Сообщение #15


Новичок


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

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




Репутация:   0  


Цитата(kwisp @ 10.2.2009, 18:40) *
пардон за назойливость.
и в мэйкфайле релизовском библитека webkit конечно добавлена....


DEFINES = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_WEBKIT_LIB -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
CFLAGS = -O2 -w $(DEFINES)
CXXFLAGS = -O2 -w -frtti -fexceptions -mthreads $(DEFINES)
INCPATH = -I'c:/Qt/4.4.3/include/QtUiTools' -I'c:/Qt/4.4.3/include/QtCore' -I'c:/Qt/4.4.3/include/QtCore' -I'c:/Qt/4.4.3/include/QtNetwork' -I'c:/Qt/4.4.3/include/QtNetwork' -I'c:/Qt/4.4.3/include/QtGui' -I'c:/Qt/4.4.3/include/QtGui' -I'c:/Qt/4.4.3/include/QtXml' -I'c:/Qt/4.4.3/include/QtXml' -I'c:/Qt/4.4.3/include/QtSvg' -I'c:/Qt/4.4.3/include/QtSvg' -I'c:/Qt/4.4.3/include/QtWebKit' -I'c:/Qt/4.4.3/include/QtWebKit' -I'c:/Qt/4.4.3/include' -I'c:/Qt/4.4.3/include/ActiveQt' -I'release' -I'.' -I'c:/Qt/4.4.3/mkspecs/win32-g++'
LINK = g++
LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,windows -mthreads -Wl -Wl,--out-implib,release/libR-broker.a
LIBS = -L'c:/Qt/4.4.3/lib' -lmingw32 -lqtmain release/icon_res.o -lQtWebKit -lQtSvg -lQtUiTools -lQtNetwork -lQtXml -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32

это?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.2.2009, 19:11
Сообщение #16


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


у меня иначе выглядит хотя версия таже

-lQtWebKit4
:blink:

почему разница интересно.

Сообщение отредактировал kwisp - 10.2.2009, 19:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PassiveX
  опции профиля:
сообщение 10.2.2009, 19:20
Сообщение #17


Новичок


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

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




Репутация:   0  


Цитата(kwisp @ 10.2.2009, 19:11) *
у меня иначе выглядит хотя версия таже

-lQtWebKit4
:blink:


так это я по ходу вариант для статичной борки копирнул, там цифры не нужны

я в данный момент пытаюсь собрать browser из demos чтобы точно убедиться, что проблема не в моём проекте, так что чуть позже копирну другой вариант
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 10.2.2009, 19:22
Сообщение #18


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(PassiveX @ 10.2.2009, 19:20) *
я в данный момент пытаюсь собрать browser из demos чтобы точно убедиться, что проблема не в моём проекте, так что чуть позже копирну другой вариант


ты же говорил проблем нет на машинах где стоит библиотека со стандартным примером.???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PassiveX
  опции профиля:
сообщение 10.2.2009, 19:34
Сообщение #19


Новичок


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

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




Репутация:   0  


Цитата(kwisp @ 10.2.2009, 19:22) *
мером.???


неее, прошу прощения, неточно выразился
проблем нет с картинками на компах, где установлен Qt

я сам уже не первый раз жалею, что так получилось, что в одной ветке две проблемы обсуждаться стали
просто они обе побочные на пути к моей цели

Вот и вести с полей подоспели
В очередной раз скомпилить прогу не получилось. На сей раз из состава Кьюта. Browser из папки demos ругается так же, как и всё остальное
Цитата
./tmp/obj/release_static/history.o(.text+0xc8e3):history.cpp: undefined reference to `_imp___ZN20QWebHistoryInterfaceD2Ev'
./tmp/obj/release_static/history.o(.text+0xc98d):history.cpp: undefined reference to `_imp___ZN20QWebHistoryInterfaceC2EP7QObject'
./tmp/obj/release_static/history.o(.text+0xcb94):history.cpp: undefined reference to `_imp___ZN20QWebHistoryInterface19setDefaultInterfaceEPS_'
./tmp/obj/release_static/history.o(.text+0xcc53):history.cpp: undefined reference to `_imp___ZN20QWebHistoryInterfaceD2Ev'
./tmp/obj/release_static/settings.o(.text+0x65):settings.cpp: undefined reference to `_imp___ZN12QWebSettings14globalSettingsEv'
./tmp/obj/release_static/settings.o(.text+0x87):settings.cpp: undefined reference to `_imp___ZNK12QWebSettings10fontFamilyENS_10FontFamilyE'
./tmp/obj/release_static/settings.o(.text+0x98):settings.cpp: undefined reference to `_imp___ZNK12QWebSettings8fontSizeENS_8FontSizeE'
./tmp/obj/release_static/settings.o(.text+0x2de):settings.cpp: undefined reference to `_imp___ZNK12QWebSettings10fontFamilyENS_10FontFamilyE'
./tmp/obj/release_static/settings.o(.text+0x305):settings.cpp: undefined reference to `_imp___ZNK12QWebSettings8fontSizeENS_8FontSizeE'
./tmp/obj/release_static/settings.o(.text+0x5bd):settings.cpp: undefined reference to `_imp___ZNK12QWebSettings13testAttributeENS_12WebAttributeE'
./tmp/obj/release_static/settings.o(.text+0x5f2):settings.cpp: undefined reference to `_imp___ZNK12QWebSettings13testAttributeENS_12WebAttributeE'
./tmp/obj/release_static/tabwidget.o(.text+0xf4e):tabwidget.cpp: undefined reference to `_imp___ZNK8QWebPage6actionENS_9WebActionE'
./tmp/obj/release_static/tabwidget.o(.text+0xfa7):tabwidget.cpp: undefined reference to `_imp___ZNK8QWebPage6actionENS_9WebActionE'
./tmp/obj/release_static/tabwidget.o(.text+0x261a):tabwidget.cpp: undefined reference to `_imp___ZN8QWebView6reloadEv'
./tmp/obj/release_static/tabwidget.o(.text+0x267b):tabwidget.cpp: undefined reference to `_imp___ZN8QWebView6reloadEv'
./tmp/obj/release_static/tabwidget.o(.text+0x58d3):tabwidget.cpp: undefined reference to `_imp___ZNK8QWebView4pageEv'


Хотя статика webkit'а скомпилена и лежит себе в qt/lib/libQtWebKit.a
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 14.7.2025, 23:17