Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
WxMaper
33 / 33 / 8
Регистрация: 19.10.2013
Сообщений: 343
#1

Как победить QtWebEngineProcess в Windows XP?

26.02.2018, 15:40. Просмотров 242. Ответов 13
Метки нет (Все метки)

Доброго времени суток.
Использую Qt 5.5.1 (MSVC13). Требуется собрать приложение с WebEngine да так, чтобы оно работало под Windows XP.
Для своего приложения в проекте я прописал: QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01

Приложение стало запускаться, но ни 1 сайт не отображается. Как позже выяснилось, в официальной сборке Qt был залит корявый QtWebEngineProcess.exe, который в Windows XP при запуске пишет, что он "не является приложением Win32".

Нагуглил одно единственное решение: самостоятельно пересобрать QtWebEngineProcess.exe под MSVC13 с таргетом под XP. Нашёл проект в исходниках Qt qt-everywhere-opensource-src-5.5.1\qtwebengine\src\process, добавил в него QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01 /ENTRY:"mainCRTStartup"

/ENTRY пришлось добавить чтобы разрешить ошибку qtmain.lib(qtmain_win.obj):-1: ошибка: LNK2019: unresolved external symbol __imp__CommandLineToArgvW@8 referenced in function _WinMain@16

Собралось это поделие и честно установилось в директорию с установленным Qt, в итоге в Windows 10 (без установленного Qt) моё WebEngine приложение работает с этим пересобранным QtWebEngineProcess.exe, а вот в Windows XP запускается (появляется окно приложения), затем сразу валится "Обнаружена ошибка. Приложение будет закрыто".
Если запустить QtWebEngineProcess.exe ручками, то он тихонько висит в процесса и никого не трогает, но само приложение валится... при том что оно же в любой другой версии винды работает исправно.

Есть у кого какие идеи или опыт сборки WebEngine под XP?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2018, 15:40
Ответы с готовыми решениями:

Потоки не победить
На панели 2кнопки "Start A" и "Start B" каждая из которых запускает...

Как победить смену кодировки в php под windows
Проблема в том что utf-8 сохраненные файлы сами по себе превращаются в ansi...

Как победить IE 11?
Камрады, помогите, пожалуйста, победить IE 11. Говорю сразу - ламер, без...

Как победить Судоку
Предлагаю вашему вниманию программу Судока. Она решает числовые головоломки с...

Как победить триггер
Привет всем, дано две таблички Chidren и Class, в табл. Children есть поле...

13
nmcf
6259 / 5571 / 2531
Регистрация: 14.04.2014
Сообщений: 23,451
26.02.2018, 16:45 #2
А там вообще поддержу XP заявляли? Возьми более старые версии.
0
WxMaper
33 / 33 / 8
Регистрация: 19.10.2013
Сообщений: 343
26.02.2018, 17:18  [ТС] #3
WebEngine только в 5.5 и добавили.

Добавлено через 3 минуты
Хотя нет, он был добавлен в Qt 5.4... попробую его.

Добавлено через 23 минуты
Нет, понижение версии ситуацию не исправило
0
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,160
Записей в блоге: 17
26.02.2018, 17:46 #4
Уже давно было пора забыть про XP.

Добавлено через 1 минуту
А касательно сборки http://www.cyberforum.ru/blogs/131347/blog2457.html#a_3
0
WxMaper
33 / 33 / 8
Регистрация: 19.10.2013
Сообщений: 343
26.02.2018, 17:50  [ТС] #5
Да не моя это прихоть... попробую пересобрать весь Qt/ Нужно только понять куда всунуть QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
Если сувать в qtbase\mkspecs\common\msvc-desktop.conf, то по логам линкера видно, что он вроде как всё равно линкует под версию 5.5...

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
А касательно сборки http://www.cyberforum.ru/blogs/131347/blog2457.html#a_3
Чем оно лучше windeployqt, который из коробки? Всегда им пользовался, не подводил.
0
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,160
Записей в блоге: 17
26.02.2018, 17:52 #6
Цитата Сообщение от WxMaper Посмотреть сообщение
Чем оно лучше windeployqt, который из коробки? Всегда им пользовался, не подводил.
Собирает все зависимости, при чем только те что реально есть.
Последний раз когда я использовал windeployqt от тупо копировал все подряд, и при это все рано бывало что чего то не хватало.
0
WxMaper
33 / 33 / 8
Регистрация: 19.10.2013
Сообщений: 343
26.02.2018, 17:53  [ТС] #7
Интересно. Посмотрю потом, но для начала нужно с XP разобраться
0
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,160
Записей в блоге: 17
26.02.2018, 17:57 #8
Цитата Сообщение от WxMaper Посмотреть сообщение
Да не моя это прихоть...
Ну вот чья прихоть, пусть и собирает ...

Если уж машина слабая, лучше уж убунту поставить.

Добавлено через 3 минуты
Цитата Сообщение от WxMaper Посмотреть сообщение
Интересно. Посмотрю потом, но для начала нужно с XP разобраться
При использовании Qt WebEngine необходимо копировать по мимо всего еще и исполняемый файл QtWebEngineProcess и файлы из папки QTDIR/resources
QTDIR/resources скопировали?
0
WxMaper
33 / 33 / 8
Регистрация: 19.10.2013
Сообщений: 343
26.02.2018, 18:02  [ТС] #9
Цитата Сообщение от Avazart Посмотреть сообщение
QTDIR/resources скопировали?
Да, разумеется. Только в Qt 5.5 resources не было, раньше оно просто лежало в QTDIR, соответственно и копируется прямо в директорию с exe. Приложение корректно работает на любой версии винды, где Qt никогда не стоял. Не работает только в XP.
Как победить QtWebEngineProcess в Windows XP?
0
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,160
Записей в блоге: 17
26.02.2018, 18:05 #10
Ну хз вроде еще должно работать

https://wiki.qt.io/PlatformSupport

Но смысла все равно не вижу.
0
WxMaper
33 / 33 / 8
Регистрация: 19.10.2013
Сообщений: 343
26.02.2018, 18:12  [ТС] #11
Проблема то в том, что QtWebEngineProcess, да и весь qt из коробки, собраны в msvc13 без флага поддержки windows xp. А в версии qt-msvc12 нет WebEngine вообще.
На той странице (PlatformSupport) не уточняется какая сборка Qt поддерживает Windows XP. Я вот знаю, что Qt 5.7 MinGW и создаваемые им приложухи вполне себе неплохо работают под XP, а любая другая сборка даже не установится.
0
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,160
Записей в блоге: 17
26.02.2018, 18:22 #12
Качайте версию msvc10 ну или сами собирайте с помощью msvc10.

Добавлено через 1 минуту
Цитата Сообщение от WxMaper Посмотреть сообщение
Qt 5.7 MinGW
MinGW безпонтово использовать в ней как я помню вообще отсутствует QtWebEngine.
0
WxMaper
33 / 33 / 8
Регистрация: 19.10.2013
Сообщений: 343
26.02.2018, 18:31  [ТС] #13
Цитата Сообщение от Avazart Посмотреть сообщение
Качайте версию msvc10 ну или сами собирайте с помощью msvc10.
Но WebEngine собирается только под MSVC13 такие вот дела.
Цитата Сообщение от Avazart Посмотреть сообщение
MinGW безпонтово использовать в ней как я помню вообще отсутствует QtWebEngine.
Да, и только из-за того, что хромиум не поддерживает сборку под MinGW, что очень и очень печалит меня.
0
Avazart
Эксперт С++
7696 / 5605 / 543
Регистрация: 10.12.2010
Сообщений: 25,160
Записей в блоге: 17
26.02.2018, 18:44 #14
Это еще одна причина отказаться от дурной идеи использовать XP
0
26.02.2018, 18:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2018, 18:44

как победить вирус
помогите убить вирус, создающий новое подключение a-connect

Как победить кодировку?
import MySQLdb con = MySQLdb.connect(host="127.0.0.1", user="user",...

Как победить таблицу?
Каталог товара выводится в виде таблицы, причем в верхней строке рядом с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru