Arrow
Arrow21 мая 2017 г. 1:09

qmake

qmake, Qt, Qt Creator

Пытаюсь скормить Qt Creator (Qt 5.9 beta) свой компилятор.

Оказалось, то для комлектов в настройках нужно указать qmake.exe который идет для этого компилятора.

Проблема в том, что его нет.

Вопрос в следующем: Возможно ли перенастроить утилиту qmake на новый компилятор и как это сделать? Или нужно писать свою утилиту?

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

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

14
Evgenii Legotckoi
  • 21 мая 2017 г. 9:47
  • Ответ был помечен как решение.

Докачать компилятор для версии Qt 5.9, там должен быть нужный qmake, посмотрите в Maintenance Tool, всё ли установлено.

Или нужно писать свою утилиту?

Это как понимать?

А подождать немного не судьба? Финальный релиз версии Qt 5.9 31-го мая должен быть.

    Arrow
    • 21 мая 2017 г. 19:07

    А что в релизе будет поддержка MinGw 64 bit? И где под него qmake искать?

      Arrow
      • 21 мая 2017 г. 19:15
      Это как понимать?
      Писать свой qmake или правильно задавать ему опции какой компилятор использовать и т.д. Если открыть в Qt Creator профили Qt, то там можно увидеть настройки - опции.

        Evgenii Legotckoi
        • 21 мая 2017 г. 21:14

        А вот это уже интересный вопрос. Не думаю, что будут MinGW 64 bit добавлять. Он по-моему никогда и не был в приоритете, если учесть, что есть MSVC. А если учесть, что тот же самый WebEngine не поддерживается и MinGW 32 bit, то и смысла-то особого нет работать с MinGW на мой взгляд. Для каких целей необходим Вам именно MinGW 64 bit?

        Ну а так да. Вручную комплекты нужно настраивать, но думаю, что с MinGW 64 должен быть и qmake. Могу предложить, только поискать там, где брали MinGW 64.

          Arrow
          • 22 мая 2017 г. 0:37

          Спасибо! Попробую поискать.

            Arrow
            • 22 мая 2017 г. 20:26

            Нашел qmake. Он идет в комплекте с MSYS2 и выкачивается при установке toolchain для qt.

            Остался последний вопрос по теме: Как указать в какую папку после сборки кидать 64 bit исполняемый файл?

            Писал так, но кидает в туже папку, что и 32 (заменяет его):
            CONFIG(debug, debug|release) {
                # debug
            } else {
                # release
                win32: {
                    # Папка для release-версии программы
                    DESTDIR = $${_PRO_FILE_PWD_}/win32
                }
                win64: {
                    # Папка для release-версии программы
                    DESTDIR = $${_PRO_FILE_PWD_}/win64
                }
                unix: {
                    # Папка для release-версии программы
                    DESTDIR = $${_PRO_FILE_PWD_}/linux
                }
            }
              Evgenii Legotckoi
              • 23 мая 2017 г. 11:18

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

              CONFIG(debug, debug|release) {
                  # debug
              } else {
                  # release
                  win32 {
                      # Папка для release-версии программы
                      DESTDIR = $${_PRO_FILE_PWD_}/win32
                  }
                  win64 {
                      # Папка для release-версии программы
                      DESTDIR = $${_PRO_FILE_PWD_}/win64
                  }
                  unix {
                      # Папка для release-версии программы
                      DESTDIR = $${_PRO_FILE_PWD_}/linux
                  }
              }
                Arrow
                • 23 мая 2017 г. 12:16

                Результат тот же.

                  Evgenii Legotckoi
                  • 23 мая 2017 г. 12:54

                  Я вот не уверен до конца, а вот эта переменная _PRO_FILE_PWD_ вообще даёт нужный результат? Может qmake ошибочный путь получает?

                  Так, а ещё фигурные скобки у _PRO_FILE_PWD_ тоже лишние

                  CONFIG(debug, debug|release) {
                      # debug
                  } else {
                      # release
                      win32 {
                          # Папка для release-версии программы
                          DESTDIR = $$_PRO_FILE_PWD_/win32
                      }
                      win64 {
                          # Папка для release-версии программы
                          DESTDIR = $$_PRO_FILE_PWD_/win64
                      }
                      unix {
                          # Папка для release-версии программы
                          DESTDIR = $$_PRO_FILE_PWD_/linux
                      }
                  }
                    Arrow
                    • 23 мая 2017 г. 13:18

                    Проверил - без изменений.

                    Версия 32 bit исполняемого файла ложится в папкуwin32, в Linux тоже все отлично.

                    Проблема только с тем, что почему-то версия 64 bit попадает в папку win32, а не win64.

                      Evgenii Legotckoi
                      • 23 мая 2017 г. 13:27

                      Возможно, что win64 не очень хорошо работает, если вообще работает. Я наткнулся вот на такой вариант решения проблемы:

                      win32 {
                      
                          ## Windows common build here
                      
                          !contains(QMAKE_TARGET.arch, x86_64) {
                              message("x86 build")
                      
                              ## Windows x86 (32bit) specific build here
                      
                          } else {
                              message("x86_64 build")
                      
                              ## Windows x64 (64bit) specific build here
                      
                          }
                      }
                        Arrow
                        • 23 мая 2017 г. 13:41

                        Странно по сообщениям выдает, что у меня компилирутся 32 bit версия (x86 build).

                        Компилятор опознан правильно и в ABI сам определилил x86-windows-msys-pre-64bit и исполняемый файл создает 64 bit.

                          Evgenii Legotckoi
                          • 24 мая 2017 г. 13:20

                          Видимо, что qmake не совсем понимает, к какой архитектуре относится MinGW-64.

                            Arrow
                            • 24 мая 2017 г. 14:09

                            Похоже на то! Спасибо.

                              Комментарии

                              Только авторизованные пользователи могут публиковать комментарии.
                              Пожалуйста, авторизуйтесь или зарегистрируйтесь
                              m

                              C++ - Тест 003. Условия и циклы

                              • Результат:85баллов,
                              • Очки рейтинга6
                              в

                              C++ - Тест 003. Условия и циклы

                              • Результат:50баллов,
                              • Очки рейтинга-4
                              l

                              C++ - Тест 005. Структуры и Классы

                              • Результат:91баллов,
                              • Очки рейтинга8
                              Последние комментарии
                              k
                              kmssr9 февраля 2024 г. 5:43
                              Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                              АК
                              Анатолий Кононенко5 февраля 2024 г. 12:50
                              Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                              EVA
                              EVA25 декабря 2023 г. 21:30
                              Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
                              J
                              JonnyJo25 декабря 2023 г. 19:38
                              Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
                              G
                              Gvozdik19 декабря 2023 г. 8:01
                              Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
                              Сейчас обсуждают на форуме
                              P
                              Pisych27 февраля 2023 г. 15:04
                              Как получить в массив значения из связанной модели? Спасибо, разобрался:))
                              AC
                              Alexandru Codreanu19 января 2024 г. 22:57
                              QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…
                              BlinCT
                              BlinCT27 декабря 2023 г. 19:57
                              Растягивать Image на парент по высоте Ну и само собою дял включения scrollbar надо чтобы был Flickable. Так что выходит как то так Flickable{ id: root anchors.fill: parent clip: true property url linkFile p…
                              Дмитрий
                              Дмитрий10 января 2024 г. 15:18
                              Qt Creator загружает всю оперативную память Проблема решена. Удалось разобраться с помощью утилиты strace. Запустил ее: strace ./qtcreator Начал выводиться весь лог работы креатора. В один момент он начал считывать фай…
                              Evgenii Legotckoi
                              Evgenii Legotckoi12 декабря 2023 г. 17:48
                              Побуквенное сравнение двух строк Добрый день. Там случайно не высылается этот сигнал textChanged ещё и при форматировани текста? Если решиать в лоб, то можно просто отключать сигнал/слотовое соединение внутри слота и …

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