![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
PassiveX |
![]() ![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 9.2.2009 Пользователь №: 541 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Имею программу, которая пользует webkit. Появилась проблема, что он некоторые типа картинок не отображает на компах, где я не веду разработку.
А веду разработку под Маком и Вендой. Под макос получилось скомпилить qt статически, и прога потом на других маках свободно бегала и все картинки на инет-страницах грузила и показывала. Под виндовс скомпилить как надо ни разу не получилось, постоянные ошибки, устал вытирать пот, поэтому таскаю за собой dll-ки. Но программка моя упорно не хочет показывать gif (заменяет фирменным webkit-овскими вопросами). Пробовал addLibraryPath натравить на папку с imageformats, клал её в папку с ехе-шником, делал на тестовых компах папку c:\qt\4.4.3\plugins и копировал туда всю папку imageformats и папки plugins, ничего не помогает. Скажите, я хотя бы на правильном пути? WinXP, Qt 4.4.3 |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Пробовал addLibraryPath натравить на папку с imageformats, клал её в папку с ехе-шником, делал на тестовых компах папку c:\qt\4.4.3\plugins и копировал туда всю папку imageformats и папки plugins, ничего не помогает. по этому поводу (динамическая сборка) читай в теме FAQ (что в верху подфорума) "развертывание приложений Qt в MS Windows"Появилась проблема, что он некоторые типа картинок не отображает на компах, где я не веду разработку. Под виндовс скомпилить как надо ни разу не получилось, есть проблема со статической сборкой именно с картинками. Как я понял только с имеющими не свободную лицензию. Вроде в 4.5. ее должны были исправить
|
|
|
kwisp |
![]()
Сообщение
#3
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
получается хоть собрано и динамически все равно не отображает гиф.....
а в примерах-демонстрациях браузер у тебя под виндой гиф показывает??? |
|
|
PassiveX |
![]()
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 9.2.2009 Пользователь №: 541 Спасибо сказали: 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'ки для дебуга, так и для релиза. Товрищи, сил моих больше нет. Давайте дифдиагнозом что ли эту тварь придушим? есть проблема со статической сборкой именно с картинками. Как я понял только с имеющими не свободную лицензию. Вроде в 4.5. ее должны были исправить Юрий, буду благодарен куску текста от официального источника, где это будет написано. А то наш одмин твердит то же самое, сам не напрограммировав и пары строчек кода в своей жизни, а сам я на сайте Qt тоже ничего не увидел. Повторюсь, что WebKit скомпилить мне удалось, проблема в линковке была. А вообще эта тема про картинки. Уж они-то слабо должны быть связаны с LGPL ![]() а в примерах-демонстрациях браузер у тебя под виндой гиф показывает??? да, проблемы не существует на компьютерах, где установлен Qt. Проблема в распространении программы, раз у меня статически ничего линковаться не хочется, то надо таскать за собой dll'ки, среди которых плагины чтения картинок не подгружаются |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#6
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Проблема в другом, линковщик не может слинковать прогу с библиотекой webkit'а, ругаясь в консоли про undefined reference на страшные наборы букв, в которых есть знакомые (типа webframe, webpage). Я понимаю, если бы он ругался в случае отсутствия статично-откомпиленной библиотеки, а вебкит скомпилился без ошибок что то подобное происходит если в файл проекта не добавишь QT+=webkit как впрочем и другие модули хмл скл и т.д попозже обещаю попробовать собрать проект с вебкит статически у меня он тоже в проге есть... пока со временем туго... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#8
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Проблема в распространении программы, раз у меня статически ничего линковаться не хочется, то надо таскать за собой dll'ки, среди которых плагины чтения картинок не подгружаются странно.... у меня 4.4.3 динамически собранный проект c WebKit прекрасно все на других машинах(без установленного Qt) отображает. я собирал configure -release -platform win32-g++ -no-vcproj -webkit -assistant-webkit Сообщение отредактировал kwisp - 10.2.2009, 18:04 |
|
|
Константин |
![]()
Сообщение
#9
|
![]() Студент ![]() Группа: Участник Сообщений: 69 Регистрация: 9.2.2009 Пользователь №: 539 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
надо искать на прогорге, там один из трольтеховцев (русскоговорящий) это дело подтверждал. А может и на трэкере тролей есть Цитата >> [qt 4.4.1] Нет иконок в print preview в static версии >> Делаю print preview в Windows, иконок верхней панели нет, только кнопочки. В Linux в shared версии все good. К сожалению это известная проблема, решения для которой пока нет, ибо поддержка соответствующих графических форматов реализована в плагинах, которые нельзя использовать при статической сборке. больше в том треде ничего, собственно, нет по теме. в данном же слечае проблема иная (раз уж даже с плагинами не хочет заводиться) Чую жопой, что эта папка волшебная <snip> папка не волшебная. видимо, в неё устанавливали (или собирали в ней) кутэ для последующей упаковки. я бы посоветовал скачать тарболл с исходниками (qt-all-*-x.y.z) и собрать начисто без последующей установки, а затем обновить бинарники на тестовых машинах. также можно поубивать software\trolltech в реестрах - чтобы уж наверняка. |
|
|
kwisp |
![]()
Сообщение
#10
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата в static версии а человек пишет Цитата .... то надо таскать за собой dll'ки, среди которых плагины чтения картинок не подгружаются получается проблема родтвенная но не точно такая же. |
|
|
PassiveX |
![]()
Сообщение
#11
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 9.2.2009 Пользователь №: 541 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#12
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
PassiveX |
![]()
Сообщение
#13
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 9.2.2009 Пользователь №: 541 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#14
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата webkit'а, ругаясь в консоли про undefined reference на страшные наборы букв, в которых есть знакомые (типа webframe, webpage). пардон за назойливость. и в мэйкфайле релизовском библитека webkit конечно добавлена.... |
|
|
PassiveX |
![]()
Сообщение
#15
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 9.2.2009 Пользователь №: 541 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
пардон за назойливость. и в мэйкфайле релизовском библитека 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 |
![]()
Сообщение
#16
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
у меня иначе выглядит хотя версия таже
-lQtWebKit4 ![]() почему разница интересно. Сообщение отредактировал kwisp - 10.2.2009, 19:19 |
|
|
PassiveX |
![]()
Сообщение
#17
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 9.2.2009 Пользователь №: 541 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
у меня иначе выглядит хотя версия таже -lQtWebKit4 ![]() так это я по ходу вариант для статичной борки копирнул, там цифры не нужны я в данный момент пытаюсь собрать browser из demos чтобы точно убедиться, что проблема не в моём проекте, так что чуть позже копирну другой вариант |
|
|
kwisp |
![]()
Сообщение
#18
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
PassiveX |
![]()
Сообщение
#19
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 9.2.2009 Пользователь №: 541 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
мером.??? неее, прошу прощения, неточно выразился проблем нет с картинками на компах, где установлен 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 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.7.2025, 23:17 |