Russian Qt Forum
Ноябрь 23, 2024, 15:20
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows (Прочитано 9606 раз)
Rododendron
Гость
Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
:
Октябрь 26, 2017, 09:57 »
В связи с большими объемами информации, которые обрабатывает проект, переход от 32-битной архитектуры на 64 мне кажется наиболее правильным.
Проблема в том, что проект должен работать на Винде, и изначально он написан на Qt4.
Установить Qt4 64-бит на Винду не представляется возможным, было потрачено достаточно много времени на это впустую.
Но зато есть Qt-5.6.3-MinGW64, которая уже проверена одним достаточно большим проектом. Поэтому перенос на эту версию мне видится самым лучшим решением проблемы.
Сначала я установил такую же версию на Линукс, и собрал проект там, т.к. под Линуксом работает GDB.
Но к сожалению чуда не произошло, и в Винде программа крашится в самом начале запуска. Помогите советом, может есть какие-нибудь тулзы, о которых я не знаю, чтобы как-то локализовать проблему? Проект большой, метод выпиливания мне не хотелось бы применять. Пробовал тупо закомментировать весь main(), но все равно крашится. Никаких особых модулей программа не использует:
Код:
QT += core gui widgets sql
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #1 :
Октябрь 26, 2017, 10:28 »
Я бы попробовал начать поиски проблемы с использованием valgrind под линуксом. Проанализировав пролог, возможно, найдётся виновник падения под виндой.
Записан
alex312
Хакер
Offline
Сообщений: 606
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #2 :
Октябрь 26, 2017, 12:14 »
gdb работает и под виндой, в чем проблема ? И почему нельзя пользовать msvc ?
Qt5 x64 есть в
http://www.msys2.org/
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #3 :
Октябрь 26, 2017, 13:32 »
Ну всем понятно что нормальное решение одно: апдейтить проект на Qt5, тогда встанет на любой платформе. Желание как-то проскочить без этого (по-быстрому) вполне понятно, но удается редко, времени все равно тратится изрядно, а толку нет.
Записан
Rododendron
Гость
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #4 :
Октябрь 27, 2017, 07:51 »
Старым добрым методом выпиливания нашел проблему - библиотека vlc-qt собрана была не правильно.
А можно поподробнее, как у вас дебаггер под виндой работает? Винда 64 или 32 битная?
Все мои попытки использовать msvc потерпели неудачу, да и привык я к гнусному компилятору.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #5 :
Октябрь 27, 2017, 09:43 »
Я mingw64 скачиваю
отсюда
С этим комплектом и gdb поставляется. В qtcreator при создании комплекта для сборки необходимо указать путь к нему.
Компилятор msvc (я пробовал 2015) не особо справляется с c++11 и выше. Имхо, для того, чтобы избежать перепроверок компилируемости кода под разными платформами лучше использовать один компилятор.
Записан
alex312
Хакер
Offline
Сообщений: 606
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #6 :
Октябрь 27, 2017, 11:53 »
Цитата: Rododendron от Октябрь 27, 2017, 07:51
А можно поподробнее, как у вас дебаггер под виндой работает? Винда 64 или 32 битная?
Как я уже писал выше я использую msys2. Там есть и компилятор gcc с работающим gdb, и сборки Qt4, Qt5 под 64 бита.
Цитата: Rododendron от Октябрь 27, 2017, 07:51
Все мои попытки использовать msvc потерпели неудачу, да и привык я к гнусному компилятору.
msvc 2017 уже почти нормальный. под него есть стандарная 64-битная сборка Qt5.9
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #7 :
Октябрь 27, 2017, 15:09 »
alex312, какой версии mingw64 в msys2?
Записан
alex312
Хакер
Offline
Сообщений: 606
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #8 :
Октябрь 27, 2017, 16:40 »
Цитата: __Heaven__ от Октябрь 27, 2017, 15:09
alex312, какой версии mingw64 в msys2?
$ g++ -v
Using built-in specs.
COLLECT_GCC=D:\bin\msys64\mingw64\bin\g++.exe
COLLECT_LTO_WRAPPER=D:/bin/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-7.2.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --enable-bootstrap --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,objc,obj-c++,fortran,ada --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev1, Built by MSYS2 project' --with-bugurl=https://sourceforge.net/projects/msys2 --with-gnu-as --with-gnu-ld
Thread model: posix
gcc version 7.2.0 (Rev1, Built by MSYS2 project)
Update:
Перечитал вопрос.
$ pacman -Ss crt
mingw32/mingw-w64-i686-crt-git 5.0.0.4966.1eee2140-1 (mingw-w64-i686-toolchain) [установлен]
MinGW-w64 CRT for Windows
mingw64/mingw-w64-x86_64-crt-git 5.0.0.4966.1eee2140-1 (mingw-w64-x86_64-toolchain) [установлен]
MinGW-w64 CRT for Windows
«
Последнее редактирование: Октябрь 28, 2017, 11:10 от alex312
»
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #9 :
Октябрь 30, 2017, 09:18 »
Не совсем понял update. Но, я больше интересовался версией, с помощью которого собираются пользовательские проекты.
Короче говоря, с поддержкой c++17 всё в порядке
Надо попробовать.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #10 :
Октябрь 30, 2017, 15:24 »
О Божечки, какая это удобная штука. Почему я раньше о ней не знал? Как дурак обновлял все библиотеки скачивая с сайтов производителей, компилировал библиотеки, поставляемые в виде исходников.
Записан
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #11 :
Октябрь 30, 2017, 16:25 »
Это вы про что?
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #12 :
Октябрь 30, 2017, 19:14 »
Открыл для себя msys2
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #13 :
Октябрь 30, 2017, 21:21 »
студия community не подойдет?
самый вменяемый отладчик там, имхо.
крэш найти быстро поможет.
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Rododendron
Гость
Re: Помогите портировать проект из Qt4-32 на Qt5-64 под Windows
«
Ответ #14 :
Ноябрь 28, 2017, 10:25 »
Всем спасибо за отклик. Решил проблему с помощью Линукс на виртуалке. Все равно Валгринд только под Линь существует, так что не стал искать работающий отладчик под Вин. Но на будущее запомнил, что в msys2 работающий отладчик, на досуге как-нибудь гляну.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...