Денис Широкий
Денис Широкий15 января 2019 г. 4:40

Qt Creator удаленная сборка из Windows на Linux

Qt Creator, windows, linux, remot

Добрый день! Установил Qt Creator под Windows, но не могу его настроить для удаленной работы с Ubuntu Server. В разделе Инструменты -> Параметры -> Устройство настроил обычное Linux устройство. Проверка связи по SSH проходит успешно, подключение есть. Однако при попытке добавить комплект выдает предупреждение: устройства этого типа не поддерживаются профилем Qt. Пробовал как Qt 5.12.0 MSVC2017 64bit, так и Qt 5.12.0 MinGW 64bit. До этого на ноутбуке без проблем настроил Qt Creator для удаленной работы из Ubuntu на тот же Ubuntu Server, но там естественно была версия под Linux. Можно ли вообще на версии под Windows удаленно работать с Linux? Если да, то помогите, пожалуйста, с настройками. Что я делаю не так?

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

Вам это нравится? Поделитесь в социальных сетях!

5
Evgenii Legotckoi
  • 15 января 2019 г. 4:55
  • (ред.)

Добрый день!

Я пытался так настроить для Raspberry Pi, для кросскомпилирования из-под Windows (если честно не вышло). Там требуются библиотеки Qt специально подготовленные для кросскопилирования. Если честно, то проще наверное будет из под того же virtual box с Ubuntu на борту это настроить, чем из под Windows вести разработку для Linux...

Хотел бы помочь, но увы... Может кто-то, кто имел опыт по реализации такого ещё отпишется...

    BlinCT
    • 15 января 2019 г. 4:57

    Добрый день.
    Конкретно про Creator сказать не могу. Но сам на работе для удаленной сборки с мелкомягкой пользуюсь CLion. Он сейчас отлично с этим справляется.
    Единственное что у него пока проблема если место сборки на ремоут машине измените то начнутся траблы. А дефолтно все работает.

      Александр Панюшкин
      • 15 января 2019 г. 5:09

      А я настроил через CI/CD на гитлабе. Есть готовые докер контейнеры, из под которых можно собирать сразу на 5.12.
      Я пользуюсь этим - https://gitlab.com/csprenger/docker-qt-gcc .
      Для статической сборки сдлал свой контейнер - https://gitlab.com/eska2000/docker-qt-gcc .
      Пример ямл файла (с моего деплоя):

      stages:
        - building
        - deploing
      
      building:
        stage: building
        image: registry.gitlab.com/eska2000/docker-qt-gcc:5.12.r1
        script:
        - qmake
        - make
        artifacts:
          paths:
          - quantumserver
      
      deploing:
        stage: deploing
        image: alpine
        before_script:
        - apk add --update openssh sshpass
        - mkdir -p ~/.ssh
        - chmod 700 ~/.ssh
        - ssh-keyscan -p 2222 ${SSH_URL} > ~/.ssh/known_hosts
        - chmod 644 ~/.ssh/known_hosts
        only:
        - master
        script:
        - sshpass -p "$SSH_PASSWORD" ssh -p 2222 ${SSH_USER}@${SSH_URL} 'if pgrep quantumserver; then pgrep quantumserver | xargs sudo kill; else echo "NO"; fi'
        - sshpass -p "$SSH_PASSWORD" scp -P 2222 quantumserver ${SSH_USER}@${SSH_URL}:/opt/quantumRelease
        - sshpass -p "$SSH_PASSWORD" scp -P 2222 etc/QuantumDB_Test.sql ${SSH_USER}@${SSH_URL}:/opt/quantumRelease
        - sshpass -p "$SSH_PASSWORD" ssh -p 2222 ${SSH_USER}@${SSH_URL} 'sudo systemctl restart postgresql.service; sudo -u postgres dropdb QuantumDB; sudo -u postgres createdb QuantumDB; sudo -u postgres psql -d QuantumDB -a -f /opt/quantumRelease/QuantumDB_Test.sql'
        - sshpass -p "$SSH_PASSWORD" ssh -p 2222 ${SSH_USER}@${SSH_URL} 'sudo /opt/quantumRelease/quantumserver>/dev/null'
      
      

      Мало ли, вдруг пригодится. Мне так было проще всего сделать. Да и работает для всех разработчиков в команде - не надо настраивать для каждого отдельное окружение.

        Денис Широкий
        • 15 января 2019 г. 7:42

        А если попробовать зайти с другой стороны. Есть дополнение Qt VS Tools для работы с библиотекой Qt из Visual Studio. Но оно заточено для работы под Windows. В то же время Visual Studio позволяет без проблем собирать консольные приложения на удаленной linux-машине. Кто нибудь пытался через Visual Studio настроить удаленную сборку Qt проекта?
        Есть конечно вариант через WSL установить Ubuntu на Windows и попробовать использовать linux-версию Qt Creator для удаленной работы с Ubuntu Server. Но мне такая "матрешка" не нравится. Не ожидал, что разработчики Qt не предусмотрели возможность удаленной работы с Windows на linux.

          BlinCT
          • 15 января 2019 г. 7:52

          Я же вам выше написал CLion умеет работать с ремоут машинами. И Qt так же собирает.

            Комментарии

            Только авторизованные пользователи могут публиковать комментарии.
            Пожалуйста, авторизуйтесь или зарегистрируйтесь
            d
            • dsfs
            • 26 апреля 2024 г. 1:56

            C++ - Тест 004. Указатели, Массивы и Циклы

            • Результат:80баллов,
            • Очки рейтинга4
            d
            • dsfs
            • 26 апреля 2024 г. 1:45

            C++ - Тест 002. Константы

            • Результат:50баллов,
            • Очки рейтинга-4
            d
            • dsfs
            • 26 апреля 2024 г. 1:35

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

            • Результат:73баллов,
            • Очки рейтинга1
            Последние комментарии
            k
            kmssr8 февраля 2024 г. 15:43
            Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
            АК
            Анатолий Кононенко4 февраля 2024 г. 22:50
            Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
            EVA
            EVA25 декабря 2023 г. 7:30
            Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
            J
            JonnyJo25 декабря 2023 г. 5:38
            Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
            G
            Gvozdik18 декабря 2023 г. 18:01
            Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
            Сейчас обсуждают на форуме
            G
            Gar22 апреля 2024 г. 2:46
            Clipboard Как скопировать окно целиком в clipb?
            DA
            Dr Gangil Academics20 апреля 2024 г. 4:45
            Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
            a
            a_vlasov14 апреля 2024 г. 3:41
            Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
            Павел Дорофеев
            Павел Дорофеев13 апреля 2024 г. 23:35
            QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
            f
            fastrex4 апреля 2024 г. 1:47
            Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…

            Следите за нами в социальных сетях