Как использовать MinGW-64 с Qt Creator

Я знаю, что есть много сообщений об этом, но я честно ничего не понял.

Итак, как мне установить комплект для моего Qt Creator (с открытым исходным кодом 5.7)?

  • Я уже скачал и установил MSYS2.... не знаю, что с ним делать.
  • Я уже скачал и установил Qt64 - NG.... не знаю, что делать дальше.

Я просто хочу иметь возможность развиваться в Qt и выбирать betwen MinGW 32 и MinGW 64.

Спасибо заранее!


EDIT: я также проверил страницу wiki. Большинство команд не работало. И мне сказали, что он устарел.

Ответ 1

Я знаю, что ваш вопрос заключается в том, как вы устанавливаете комплект для своего Qt Creator, но сначала я думаю, что ему нужно введение (Извините за ваши глаза, английский это не мой родной язык)

Введение

Предполагается использовать компилятор GCC под Windows, что значит, что нам нужен MinGW (Minimalist GNU для Windows).

MinGW работает только для 32 бит, поэтому нам нужны 64-битные вилки, что означает использование вкусов MinGW-w64 или TDM-GCC.

  • MinGW, компилятор GCC для 32-битных приложений.
  • MinGW-w64, компилятор GCC для 32 и 64-разрядных приложений.
  • TDM-GCC, компилятор GCC для 32-разрядных и 64-разрядных приложений.

С этим мы можем создавать наши приложения/программы в Windows. Кроме того, у нас есть другие два разных инструмента:

  • Библиотека Qt Framework для создания графических интерфейсов/интерфейсов с многоплатформенной совместимостью.
  • Qt Creator, редактор C/С++, с дополнительными инструментами редактирования для Qt Framework.


О цепочке двоичной совместимости

Когда мы создаем приложение, мы должны следовать цепочке библиотек, скомпилированных с той же версией компилятора, так же, как и для двоичного интерфейса приложения (32 или 64 бита) для этих библиотек.

Это означает, что если мы хотим скомпилировать приложение для 32 и 64 бит с MinGW-w64 5.3, а также Qt 5.7 Framework, нам нужно:

  • MinGW-w64 5.3 (с флагами 32 бита в конфиге) и сборка 32-разрядных фреймов Qt 5.7 скомпилирована под MinGW-w64 (MinGW-w64 версии 5.3 или ниже, если они поддерживают совместимость с двоичным кодом с нашим компилятором).
  • MinGW-w64 5.3 (с флагами 64 бит в конфигурации) и сборка бит 64 бит Q7 5. Создана с использованием MinGW-w64 (версия MinGW-w64 версии 5.3 или ниже, если они поддерживают совместимость с двоичным кодом с нашим компилятором).

Теперь пришла странная вещь. На официальной веб-странице Qt доступно только 32 бита для MinGW... Я не знаю, почему...

Вот пример проекта Qt64-NG, где вы получаете двоичные пакеты Qt Framework 64bits для MinGW-w64. К сожалению, проект закрыт, поэтому доступны только до версии Qt 5.5 Framework.

Я не знаю другого места, где можно получить новые 64-битные Qt-бинарные пакеты для MinGW-w64 (может быть, в проекте MSYS2? Я еще не пробовал). Поэтому, если это необходимо, в этот момент должен быть скомпилирован сам (это ответ на ваш комментарий к источнику 5.7).


Установка и настройка

Теперь ваш вопрос. Как установить комплект для вашего Qt Creator. Я собираюсь ответить на 64-битные двоичные файлы, потому что это то, что я использую (и последнее вам просто нужно сделать то же самое для 32 бит)

Для использования Qt Creator с MinGW-w64 нужно просто:

  • Загрузите Qt Creator и установите его. Мой совет - загрузить 4.1 (или верхнюю версию) snapshots, если вы собираетесь использовать проекты CMake.

  • Загрузите MinGW-w64 (posix-seh, или ваш вкус) + распаковать в одной папке.

Что все, с этим мы можем создавать 32 и 64 битные приложения.

Другим способом, в дополнение к вышеуказанным шагам, если вы хотите создавать приложения с использованием библиотеки Qt Framework (GUI/Interface для наших приложений), ему нужен бинарный пакет, в этом случае - 64-разрядный (32-битный двоичный пакет доступен на официальной странице Qt)

  • Загрузите Qt64-NG (posix-seh, или ваш выше выбранный вкус) + распаковать в одной папке. для выполнения qtbinpatcher.exe, включенного в этот каталог, всего лишь двойной щелчок.
    Примечание. Если вы измените этот каталог на другой путь, выполните еще раз qtbinpatcher.

Вот где заканчивается процесс установки. В моем случае у меня есть все под одной папкой. Пример:

D:\Programacion\mingw64_5.3.0rev0\
D:\Programacion\qt64-ng\qt-5.5.0-x64-mingw510r0-seh\

Теперь вам просто нужно настроить QtCreator, в этом случае:

Инструменты > Параметры > С++, Компиляторы, Добавить > MinGW

  • В имени поставьте версию компилятора, MinGW-5.3 x64
    Это имя, которое будет отображаться в наборах
  • В пути компилятора найдите путь компилятора С++, в этом случае D:\Programacion\mingw64_5.3.0rev0\bin\g++. exe

    Обратите внимание в выбранном ABI для использования 64-битных флагов в компиляторе. Вот почему мы ввели имя x64. Для 32 бит просто продублируйте и измените выделение.

Инструменты > Параметры > С++, Отладчики, Добавить

  • В пути перейдите к пути отладчика, в этом случае D:\Programacion\mingw64_5.3.0rev0\bin\gdb.exe
  • В названии введите имя, указанное в версии, GDB 7.10.1 в этом случае.
    Это имя, которое будет отображаться в наборах

И если вы хотите создать 64-битные программы с использованием Qt Framework, в дополнение к вышесказанному:

Инструменты > Параметры > С++, версии Qt, Добавить и выберите qmake.exe, помещенные в каталог qt64-ng bin.

  • В этом случае D:\Programacion\qt64-ng\qt-5.5.0-x64-mingw510r0-seh\bin\qmake.exe
  • В поле name введите Qt% {Qt: Version} (qt-5.5.0-x64-mingw510r0-seh)
    Это имя, которое будет отображаться на вкладке "Наборы"

Теперь вам просто нужно указать Kit:

Инструменты > Параметры > С++, Kits, Add

  • В имени MinGW-5.3 x64 (Qt-5.5)
  • В компиляторе выберите MinGW-5.3 x64
  • В отладчике выберите GDB 7.10.1
  • В версии Qt выберите Qt 5.5.0 (qt-5.5.0-x64-mingw510r0-seh)

И в CMake идет путь CMake, если он будет использовать его (я использую его с ниндзя).

Примечание. Для установки Ninja просто скопируйте файл ninja.exe в каталог mingw-w64\bin, а в Kit, в генераторе Cmake, нажмите на генератор- > ninja и Extra generator- > CodeBlocks. Ninja запускает несколько команд make одновременно, что уменьшает время компиляции.


Длинный текст для 1 минуты настройки. The Kit - это то, что мы выбираем для компиляции проекта, и каждый может иметь столько наборов, сколько пожелает (CompilerA x32 + Qt5.x, CompilerB x64 + Qt5.x, CompilerX x64 + Qt4.8 и т.д. И т.д.).

Теперь, прежде чем закончить, важно. После того, как мы создадим проект (и проект, который он откроем), в селекторе проектов (Ctrl + 5) мы должны позаботиться о переменных среды сборки.

Это переменные, которые будут добавлены в команду, которая запускает наши Runs/Builds для тестирования и отладки.

В PATH ему нужно было поместить пути в MinGW-w64 и в Qt64-NG. И по моему скромному мнению, я рекомендую записать его в этом порядке из-за dll's. Следуя нашему примеру:

PATH D:\Programacion\mingw64_5.3.0rev0\bin;D:\Programacion\qt64-ng\qt-5.5.0-x64-mingw510r0-seh\bin;the_other_paths

В ветке моментальных снимков QtCreator мне не нужно ее проверять, это делается автоматически


Большинство редакторов C/С++ работают именно так. Чтобы установить редактор, укажите путь компилятора и отладчика и укажите переменные среды сборки для запуска из редактора (переопределяя эту переменную среды, которую мы имеем в Windows).

Примечание. Я рекомендую компилировать Qt Creator с 64 битами, поскольку это происходит с Framework, для Windows он доступен только в 32 бит на официальном веб-сайте Qt.


Альтернативный способ

С другой стороны, имеем:

  • MSYS2, среда инструментов Linux, подобная инструментам.

Все равно, просто мы загружаем/устанавливаем пакеты с помощью команды pacman и доступны 32 и 64-разрядные версии. Эти приложения должны запускаться из оболочки MSYS2. Это не двоичная совместимость, а путь.

Библиотеки, доступные в проекте MSYS2, могут быть использованы в первой цепочке инструментов, о которой я рассказывал (из-за этого также строятся в MinGW-w64).


РЕДАКТИРОВАТЬ: Исправленные имена, последнее объяснение и добавленный URL-адрес Ninja и установка.

Ответ 2

Вы должны решить, собираетесь ли вы использовать экосистему MSYS2 или нет. Если вы хотите использовать MSYS2, вы должны удалить программное обеспечение Qt, которое вы загрузили отдельно, чтобы избежать путаницы. Для остальной части этого ответа предположим, что вы используете MSYS2.

Вы можете установить эти пакеты MSYS2 с помощью pacman:

  • MinGW-w64-i686-кварта
  • MinGW-w64-i686-кварта-творец
  • MinGW-w64-x86_64-кварта
  • MinGW-w64-x86_64-кварта-творец

Затем откройте 32-битную или 64-разрядную оболочку MinGW-w64 с помощью соответствующего ярлыка в меню "Пуск" и запустите "qtcreator" в командной строке.

Вы также можете использовать другие системы сборки для создания своего программного обеспечения. Я успешно использовал CMake для создания приложений Qt в MSYS2 вместо Qt Creator.

Ответ 3

Непосредственный запуск из проводника также будет работать, если вам не понадобится использовать плагин Autotools qtcreator, в этом случае необходимо запустить его из оболочки msys2 (так, чтобы различные переменные среды были установлены правильно).