IF
Igor FedyaevҚыр. 5, 2017, 11:03 Т.Ж.

Сборка Qt / C++ проекта под Win из под Linux(centos)

Пытаюсь собрать проект (поставил mingw32 по гайду - но мпочему то ошибку выдает)
//Евгений я видел как вы делали релиз для mingw32 под win, но что то анологий я как то не пронаблюдал

https://www.easycoding.org/2014/04/26/sborka-staticheskix-prilozhenij-na-qt-dlya-windows-iz-linux.html

Ошибка вида:

Программа /home/admin/QtProject/build-001_exe-MinGW32-Release/release/001_exe отсутствует.


Моё понимание-что кросс платформу надо собирать из под компилятора MinGWN(N-разрядность системы)

И вот чуть чуть не понимаю, ядра же разные у платформ, как он все 3 системы отхватит за один раз????

Логично предположить что сборка будет различная для каждой платформы.

Подскажите пожалуйста Господа ГУРУ Qt что не так ?
как собратm(static) под:
win?
linux?
macOC?

Заранее сапибо.
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

11
Evgenii Legotckoi
  • Қыр. 5, 2017, 11:20 Т.Ж.

ммм.. вот никогда не понимал, зачем делать сборку под windows из-под linux...
Зачем самому себе усложнять жизнь, всё равно же придётся тестировать на windows потом, так в чём же проблема собрать под целевой платформой. Тем более, что такие сборочные пакеты всегда запаздывают от современного релиза.
Я ещё понимаю, когда под Андроид или под Raspberry Pi делают сборку не на целевой машине. Это логично... Но Win, MacOs, Linux на одном Linux...


Что вообще присутствует в этой папке /home/admin/QtProject/build-001_exe-MinGW32-Release/release/ ?
Сборка естественно будет различная. Разные версии сборки разруливаются в QMAKE файле, типо if unix или что-то такое, нужно смотреть, не помню.
    IF
    • Қыр. 6, 2017, 2:08 Т.Ж.

    Евгений,т.е. вы предлагаете собирать каждый раз на той операционной системе - на которой будет использоваться данная продукция?

    Т.е. мне нужны Win Linux MacOS и под каждую систему под разрядность x32 x64 x86 = и того 9 сборок под системы и мне 9 виртуалок ставить под тесты ?)))

    Я поищу - если найду - выложе отдельной статьёй.

    Если как0то поможите буду только рад.

      Evgenii Legotckoi
      • Қыр. 6, 2017, 2:27 Т.Ж.

      Вообще, обычно так и делают в большинстве случаев. Поскольку виртуалка слишком идеализированный вариант, и к слову не всё можно проверить. А вот по поводу Mac OS - это очень интересный вопрос. Как вообще можно вести разработку под систему, вообще не имея хотя бы одного живого девайса? Если у Вас на работе такая задача стоит, то ваши работодатели - сказочники в розовых очках.

        Evgenii Legotckoi
        • Қыр. 6, 2017, 2:29 Т.Ж.
        • (өңделген)

        В любом случае даже с разрядностью стоит учитывать то, что не все библиотеки одинаково хорошо работают с определённой разрядностью системы, а некоторые так вообще под 64 бита не работают. Тестировать в любом случае нужно на всех системах. Иначе - это фикция, а не работа.

          Evgenii Legotckoi
          • Қыр. 6, 2017, 2:33 Т.Ж.
          • (өңделген)
          x32 x64 x86 = и того 9 сборок под системы
          а чего это вы путаете архитектуры? x86 и x32 - это одно и то же. Есть x86 архитектура, а есть x86_64, так что здесь не 9, а 6 виртуалок.

            IF
            • Қыр. 6, 2017, 6:56 Т.Ж.

            моя ошибка, чёт задумался не о том.

            я подсобрал статическое приложение под win с помошью mingw32, всё пытаюсь прикрутить mingw_x86_64 но как то очень туго идет,подкрутил из репозиториев centOs 7

            получил ошибки:
            :-1: error: cannot find -lQt5Widgets
            :-1: error: cannot find -lQt5Gui
            :-1: error: cannot find -ljpeg
            :-1: error: cannot find -lpng
            :-1: error: cannot find -lharfbuzz
            :-1: error: cannot find -lglib-2.0
            :-1: error: cannot find -lintl
            :-1: error: cannot find -lQt5Core
            :-1: error: cannot find -lpcre16
            :-1: error: cannot find -lEGL
            :-1: error: cannot find -lGLESv2
            :-1: error: cannot find -lpthread
            :-1: error: collect2: error: ld returned 1 exit status

            Подскажите в чем проблеа(я думаю что не находит lib Qt библиотек)


              IF
              • Қыр. 6, 2017, 6:57 Т.Ж.

              Поставил x86_64-w64-mingw32  с официального сайта Qt - тот же эффект

                alex_lip
                • Қыр. 6, 2017, 7:01 Т.Ж.

                А правда - как откомпилять исходники под IOS ? И как на какой-нибудь ipad залить для проверки?

                  Evgenii Legotckoi
                  • Қыр. 6, 2017, 7:12 Т.Ж.
                  • (өңделген)

                  Вообще... проблема в том, что mingw на 64 бита есть, но официально он в Qt не поддерживается, а поэтому все, кто занимается разработкой серьёзно, дружно кладут болт на него и компилируют с помощью MSVC, который идёт в составе Microsoft Visual Studio. А это значит, что нужна машина с Windows, с Microsoft Visual 2015, например, и Qt Creator с соответствующей сборкой Qt.

                  Я не знаю, с какого официального сайта Qt ставилась MinGW на 64 бита, но на странице загрузок Qt нет сборки Qt для MinGW 64 бита, поэтому я считаю, что и официальной поддержки его нет.


                  Что касается MacOS. А вот поэтому я и не занимаюсь разработкой под iOS или Mac OS, у меня их нет попросту и нет нужды на данный момент в них. Самый правильный подход в этом случае - это покупка Mac Mini, который стоит где-то от 35 т.р до 55т.р. И разработка с живой железкой. Поэтому, если встанет реальная задача разработки под эту платформу, я просто раскошелюсь на эту железяку.
                  Я вообще не знаю ни одного разработчика, которые разрабатывают под Mac не имея Mac. Есть, конечно, вариант с установкой виртуалки на VmVare, слышал я про такое, но это тоже из области создания проблем самому себе.
                    IF
                    • Қыр. 6, 2017, 7:39 Т.Ж.

                    Т.е. для реализации на платформы:
                    -linux
                    -win
                    Лучше всего использовать релиз под компилятором MSVC и под win

                    тогда вопрос еще один такой

                    Если я собираю приложение для использовани на другом компе то мне нужно:
                    собрать static верисю(сделал для win из под linux)-но почему то под linux из под linux не смог подсобрать.....Компилятор GCC(подскажите как?)
                    или собрать так хитро и таскать все бибилотеки с собой?(подскажите как?)

                      Evgenii Legotckoi
                      • Қыр. 6, 2017, 7:58 Т.Ж.
                      под Win собирать на MSVC под win.
                      под Linux собирать на Linux.

                      Вообще, если использовать мажорные версии Qt, которые являются предустановленными в системе linux, то вообще не нужно использовать статическую сборку. Достаточно перекинуть один только бинарник. В системе и так будет всё, что нужно. То есть библиотеки также таскать не требуется. И не нужно никакой статической сборки.

                        Пікірлер

                        Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                        Кіріңіз немесе Тіркеліңіз
                        Г

                        C++ - Тест 001. Первая программа и типы данных

                        • Нәтиже:66ұпай,
                        • Бағалау ұпайлары-1
                        t

                        C++ - Тест 001. Первая программа и типы данных

                        • Нәтиже:33ұпай,
                        • Бағалау ұпайлары-10
                        t

                        Qt - Тест 001. Сигналы и слоты

                        • Нәтиже:52ұпай,
                        • Бағалау ұпайлары-4
                        Соңғы пікірлер
                        G
                        GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
                        Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
                        d
                        dblas5Шілде 5, 2024, 11:02 Т.Ж.
                        QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                        k
                        kmssrАқп. 8, 2024, 6:43 Т.Қ.
                        Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                        АК
                        Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
                        Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                        Енді форумда талқылаңыз
                        Evgenii Legotckoi
                        Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
                        добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                        F
                        FynjyШілде 22, 2024, 4:15 Т.Ж.
                        при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
                        BlinCT
                        BlinCTМаусым 25, 2024, 1 Т.Ж.
                        Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
                        BlinCT
                        BlinCTМамыр 5, 2024, 5:46 Т.Ж.
                        Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
                        Evgenii Legotckoi
                        Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
                        Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

                        Бізді әлеуметтік желілерде бақылаңыз