2 / 2 / 0
Регистрация: 26.04.2019
Сообщений: 33
1

Кросскомпиляция qt5 приложения в контейнере

23.10.2019, 12:47. Показов 1394. Ответов 11

Приветствую всех!
- Есть Qt5 приложения - папки со всем необходимым:
- файлы .cpp, .h
- CMakelists.txt

- Есть доккер контейнер с скомпилированным Qt5 посредствам mingw-w64.

- Есть Машина на windows x64, в которой запускается этот контейнер.

Задача - загрузить папку с приложением в docker container и там собрать динамически это приложение для windows используя Cmake так, чтобы всё необходимое для запуска .exe файла лежало рядом с ним. Затем выгрузить итоговую папку с .exe обратно.
Всё, что связанно со сборкой строго внутри контейнера.
Приложение использует только Qt5 библиотеки.

Платформа доккер контейнера - ubuntu:18.04
Приложение должно работать на windows x64


Проблема - не могу автоматизировать определение зависимостей .exe файла.
- cqtdeployer в контейнере устанавливаться не хочет.
- ldd на .exe файл не реагирует.

Нужен Ваш совет.
- либо как установить cqtdeployer в контейнер без дополнительный действий вне контейнера
- либо как использовать ldd с .exe файлами
- либо другой способ решения проблемы

Буду блаодарен любой помощи.
Спасибо за внимание.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2019, 12:47
Ответы с готовыми решениями:

Qt5 Перенос приложения на другой компьютер
Установил я QtCreator + Qt5 + MinGW. Все зашибись работает. Что бы иметь возможность запускать...

Qt5 перенос приложения из windows7 в linux (Raspbery)
Добрый вечер! Извиняюсь, не так давно знаком с Qt и линукс, нужна помощь. Задача стоит...

Кросскомпиляция (Win7 -> Linux)
Хочу сделать свой крохотный проект кроссплатформенным. Как это проще реализовать? Работаю в...

Кросскомпиляция win -> unix. Просто?
Доброго времени суток. Встал вопрос кросскомпиляции с windows на astralinux, используя Qt. Покурив...

11
116 / 98 / 23
Регистрация: 29.05.2018
Сообщений: 299
23.10.2019, 15:05 2
Попробуйте вместо cqtdeployer воспользоваться windeployqt.
0
Эксперт С++
8379 / 6115 / 613
Регистрация: 10.12.2010
Сообщений: 28,556
Записей в блоге: 30
30.10.2019, 14:47 3
windeployqt раньше по крайней мере лажал при некоторых стечениях обстоятельств.
Нормально можно собрать в принципе только руками при запущенной программе и при прогонке по ф-ционалу.

LibraryCollector - программа для сборки библиотек для переноса Qt-приложений
0
116 / 98 / 23
Регистрация: 29.05.2018
Сообщений: 299
30.10.2019, 17:16 4
Цитата Сообщение от Avazart Посмотреть сообщение
Нормально можно собрать в принципе только руками при запущенной программе и при прогонке по ф-ционалу.
LibraryCollector - программа для сборки библиотек для переноса Qt-приложений
Да, пробовал. Но у меня и windeployqt пока нормально работает. Видимо, не добрался до тех обстоятельств.
0
Эксперт С++
8379 / 6115 / 613
Регистрация: 10.12.2010
Сообщений: 28,556
Записей в блоге: 30
30.10.2019, 17:34 5
Цитата Сообщение от Ender Che Посмотреть сообщение
Но у меня и windeployqt пока нормально работает
Нет он явно работает не нормально. По крайней мере раньше windeployqt копировала почти все длл-ки Qt без особого разбора даже те которые не используются. И стабильно не копировала dll модуля Print Support.


https://forum.qt.io/topic/7049... sary-files

Как сейчас обстоят дела не знаю, может уже пофиксили.
0
116 / 98 / 23
Регистрация: 29.05.2018
Сообщений: 299
30.10.2019, 21:50 6
Цитата Сообщение от Avazart Посмотреть сообщение
По крайней мере раньше windeployqt копировала почти все длл-ки Qt без особого разбора даже те которые не используются.
Это да, но меня особо не напрягает. Больше напрягает у LibraryCollector, что надо по всему функционалу пройтись.
0
Эксперт С++
8379 / 6115 / 613
Регистрация: 10.12.2010
Сообщений: 28,556
Записей в блоге: 30
30.10.2019, 21:56 7
Ender Che, А что скажите про Print Support и др. модули?
0
116 / 98 / 23
Регистрация: 29.05.2018
Сообщений: 299
31.10.2019, 09:12 8
Цитата Сообщение от Avazart Посмотреть сообщение
Ender Che, А что скажите про Print Support и др. модули?
Мне пока не приходилось сталкиваться с тем, что что-то не цеплялось.
0
mvngr
31.10.2019, 09:53
  #9

Не по теме:


Я понимаю, что это, скорее всего, учебное задание

Но нафига докер контейнер кому-то именно для сборки?

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

p.s. докер начал щупать совсем недавно, не кидайтесь тапками

0
Эксперт С++
8379 / 6115 / 613
Регистрация: 10.12.2010
Сообщений: 28,556
Записей в блоге: 30
31.10.2019, 14:52 10

Не по теме:

Цитата Сообщение от Ender Che Посмотреть сообщение
Мне пока не приходилось сталкиваться с тем, что что-то не цеплялось.
Я не знаю как на такое ответить без оскорблений. Я же четко указал на то что "не цепляется".



Добавлено через 54 секунды
Цитата Сообщение от mvngr Посмотреть сообщение
Я ведь правильно понимаю, что адекватным выходом из ситуации является сборка на своей машине и перенос бинаря в докер со всеми сопутствующими либами?
"Cвоя" машина линуксовая, а сборка для должна быть для виндовс x64
0
116 / 98 / 23
Регистрация: 29.05.2018
Сообщений: 299
31.10.2019, 17:01 11
Цитата Сообщение от Avazart Посмотреть сообщение
Я же четко указал на то что "не цепляется".
И я вас понял. Мне - пока - не приходилось как-то задействовать эти модули в проектах, о чём я и написал. Извините, если нечётко выразил мысль.
0
1 / 1 / 0
Регистрация: 14.09.2018
Сообщений: 10
16.11.2019, 17:40 12
попробуй так в докере:
Bash
1
sudo snap install cqtdeployer
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2019, 17:40

Кросскомпиляция из Linux под Windows
Написал прогу, которая работает под Линуксом. Вопрос: как сделать так, чтобы этот исполняемый файл...

QT. Кросскомпиляция программы использующей отсутствующее оборудование. Linux
Всем доброго. В Linux я недавно, а в QT еще меньше. Прошу помощи. Среда: Есть ПК с Ubuntu,...

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

Кросскомпиляция: настройка версии 1.02
Сдраствуйте, есть вопрос можно ли из винды скомпилить приложение под убунду (а заодно может и на...


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

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

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