Arrow
May 21, 2017, 1:09 a.m.

qmake

qmake, Qt, Qt Creator

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

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

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

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

2

Do you like it? Share on social networks!

14
Evgenii Legotckoi
  • May 21, 2017, 9:47 a.m.
  • The answer was marked as a solution.

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

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

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

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

    Arrow
    • May 21, 2017, 7:07 p.m.

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

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

        Evgenii Legotckoi
        • May 21, 2017, 9:14 p.m.

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

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

          Arrow
          • May 22, 2017, 12:37 a.m.

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

            Arrow
            • May 22, 2017, 8:26 p.m.

            Нашел 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
              • May 23, 2017, 11:18 a.m.

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

              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
                • May 23, 2017, 12:16 p.m.

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

                  Evgenii Legotckoi
                  • May 23, 2017, 12:54 p.m.

                  Я вот не уверен до конца, а вот эта переменная _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
                    • May 23, 2017, 1:18 p.m.

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

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

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

                      Evgenii Legotckoi
                      • May 23, 2017, 1:27 p.m.

                      Возможно, что 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
                        • May 23, 2017, 1:41 p.m.

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

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

                          Evgenii Legotckoi
                          • May 24, 2017, 1:20 p.m.

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

                            Arrow
                            • May 24, 2017, 2:09 p.m.

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

                              Comments

                              Only authorized users can post comments.
                              Please, Log in or Sign up
                              • Last comments
                              • AK
                                April 1, 2025, 11:41 a.m.
                                Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                              • Evgenii Legotckoi
                                March 9, 2025, 9:02 p.m.
                                К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                              • VP
                                March 9, 2025, 4:14 p.m.
                                Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                              • ИМ
                                Nov. 22, 2024, 9:51 p.m.
                                Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                              • Evgenii Legotckoi
                                Oct. 31, 2024, 11:37 p.m.
                                Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup