LINUX.ORG.RU

Как собрать приложение Qt 5/6 под оффтопик в 2024?

 , ,


0

2

Раньше было просто, берешь Qt SDK и ставишь под Wine и готово. Далее, есть способ через MinwGW и я тоже им пользовался, собирал кроссплатформенные программы для оффтопика не покидая Linux

Но прошло 5 лет, и я попробовал MXE на Alt Linux - видимо они под такую дичь не тестируют, не работает сборка Qt самого и всё остальное

Что можно попробовать? Где брать которые сборки Qt 5/6 под оффтоп, какую среду ставить? Какие нибудь mingw-filesystem? Chocolatey?

Раньше все привычные способы работали, а сейчас надо собрать программу 3-летней давности для пользователя-виндузятника, и к тому же надо собрать Qt Serial Port

Да, можно установить Mingw64 и собрать из исходников, если других вариантов нет то придется так и сделать. Однако, может есть какой то простой и легкий способ?

В Федоре всё работает. У меня она в пайплайне для кросс-сборки под винду - мингв и qt из состава дистрибутива. Собирать приходится только своё ПО.

aol ★★★★★
()

Но прошло 5 лет, и я попробовал MXE на Alt Linux - видимо они под такую дичь не тестируют, не работает сборка Qt самого и всё остальное

А что пишет?

annulen ★★★★★
()

У меня для этих целей издавна припасена виртуалка с семёрочкой, в которой установлен Qt Creator и Qt 5.15. Там и собираю.

Есть ещё aqtinstall.

Beewek ★★
()

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

rumgot ★★★★★
()
Ответ на: комментарий от Beewek

Спасибо, выглядит интересно, кажется то что надо

I-Love-Microsoft ★★★★★
() автор топика

Я когда последний раз тестировал софт под оффтопом, то вроде бы собирал исходники бинарём шланга с гита. Разные библиотеки, утилиты собирал, про Qt не помню. Создать нормальное окружение для сборки софта под оффтопом - это та ещё попаболь.

Тут ещё в соседнем треде какой-то прокси скидывали - Qt Creator 15 (комментарий)

Без понятия, что там за прокси, спрашивайте комментатора.

Dr64h ★★★
()
Ответ на: комментарий от Dr64h

Спасибо. В принципе зачем там прокси - мне ясно. Но вот AQTinstall выглядит как более фен-шуй

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от Beewek

Оказалось так. Да, установилось AQTI, выдало список доступных версий Qt. Получить список компиляторов (версий MinGW например), а также список модулей для данной конкретной версии Qt - облом

python3 -m aqt list-qt windows desktop –arch 5.15.2 ERROR : Failed to download checksum for the file ‘Updates.xml’ from mirrors ’[‘https://download.qt.io’]

Всё ясно, способ не работает. MXE не собрался из за огромного числа каких то расхождений в скриптах на Alt Linux, я фиксил фиксил но до успеха не дошел

Остается только установить MinGW на виртуалку, сделать bat с выбором нужных опций, и собрать

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

А, ну да. Они же блочат https://download.qt.io. Поменяй зеркало и включи флажок INSECURE_NOT_FOR_PRODUCTION_ignore_hash:

aqt.cfg:

[aqt]
baseurl: https://qt-mirror.dannhauer.de/

[requests]
max_retries_on_checksum_error: 1
max_retries_to_retrieve_hash: 1
INSECURE_NOT_FOR_PRODUCTION_ignore_hash: True

[mirrors]
fallbacks:
    https://mirrors.ocf.berkeley.edu/qt
    https://qt.mirror.constant.com/
    https://ftp.acc.umu.se/mirror/qt.io/qtproject/
    https://qtproject.mirror.liquidtelecom.com/
    https://ftp.jaist.ac.jp/pub/qtproject
    http://ftp1.nluug.nl/languages/qt
    https://mirrors.dotsrc.org/qtproject
    https://mirror.yandex.ru/mirrors/qt.io

Beewek ★★
()

Без полноценного тестирования ПО в целевой ОС всё равно нельзя выпускать свои программы, иначе это не профессионально и безответственно. Так что всё равно нужно держать парк виртуалок, от XP до Win11.

raspopov
()
Ответ на: комментарий от raspopov

Не спорю, но для не-продакшен поделок сойдет, тестовых

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от raspopov

Без полноценного тестирования ПО в целевой ОС всё равно нельзя выпускать свои программы, иначе это не профессионально и безответственно. Так что всё равно нужно держать парк виртуалок, от XP до Win11.

Даже виртуалки - безответственно. Особенно когда дело касается экрана. Помню как пытался эмулировать клик мыши по рабочему столу в виртуалке - несколько часов и кучу нервов угробил. Так и не заработало. А на реальном железе оказалось всё работает. После этого никаких виртуалок.

Chord ★★★★
()

Раньше было просто, берешь Qt SDK и ставишь под Wine и готово.

Msys2 ставь и не покидая собирай.

Ygor ★★★★★
()
Ответ на: комментарий от Beewek

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

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

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

P.S. Это претензия разработчикам этого убожества

PPS Зависит от сервера, но если бы они сначала скачивали в кэш, и только потом распаковывали, не перекачивая файлы, то было бы хорошо с любым сервером

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 2)
Ответ на: комментарий от I-Love-Microsoft

И тем не менее я им благодарен. С помощью их инсталлятора я худо-бедно, но смог установить Qt без зарубежного прокси.

Beewek ★★
()
Ответ на: комментарий от Beewek

Да, с baseurl: https://mirrors.dotsrc.org/qtproject оно всё таки скачало всё и успешно установило

При помощи wine64 и MinGW x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z (прописывается предварительно через WINEPATH и затем тестируется wine64 g++) мне удалось собрать что хотел, доложил plugins/platforms/qwindows.dll и все нужные библиотеки вручную

Ура, спасибо, радость, там есть очень очень свежие версии Qt 6.8.1

Разумеется, версию Qt я качал 5.15.2 и именно под mingw64 8.1, ради 64 битного Qt и бинарника, проверяется через file program.exe и на выходе PE32+ executable (GUI) x86-64 (stripped to external PDB), for MS Windows, 9 sections

I-Love-Microsoft ★★★★★
() автор топика
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)

на винду софт, особенно на крестах, желательно собирать не просто без виртуалки, а вообще MSVC++, а не кривым MinGW

lovesan ★★★
()
Ответ на: комментарий от lovesan

Может быть, но тот кому я позавчера собрал софт - хрюкает от радости, всё стабильно красиво. Я радуюсь что теперь смогу поправить и добавить новые функции для виндузятника, в простой поделке на 500 строк кода

I-Love-Microsoft ★★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.