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

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

                              Комментарии

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

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

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

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

                              • Результат:42баллов,
                              • Очки рейтинга-8
                              ОК

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

                              • Результат:47баллов,
                              • Очки рейтинга-6
                              Последние комментарии
                              ИМ
                              Игорь Максимов22 ноября 2024 г. 21:51
                              Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                              Evgenii Legotckoi
                              Evgenii Legotckoi31 октября 2024 г. 23:37
                              Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                              A
                              ALO1ZE19 октября 2024 г. 17:19
                              Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                              ИМ
                              Игорь Максимов5 октября 2024 г. 16:51
                              Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                              d
                              dblas55 июля 2024 г. 20:02
                              QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                              Сейчас обсуждают на форуме
                              f
                              firstlunoxod15 февраля 2025 г. 13:46
                              Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                              Дмитрий
                              Дмитрий3 февраля 2025 г. 16:24
                              Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                              NW
                              Nayo Wai30 января 2025 г. 19:22
                              не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                              n
                              nkly3 января 2025 г. 12:52
                              Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                              M
                              Marsel17 августа 2023 г. 0:26
                              OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

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