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

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

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

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

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

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


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

3 ответов


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

введение

намерение состоит в том, чтобы использовать компилятор GCC под Windows, что означает, что нам нужен MinGW (минималистский 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, для создания GUI / интерфейсов с несколькими платформами совместимость.
  • Qt Creator, редактор C / C++, с дополнительными инструментами редактирования для Qt Framework.


о цепочке бинарной совместимости

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

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

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

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

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

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


установка и конфигурация

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

для использования Qt Создатель с MinGW-w64, нужно просто:

  • загрузите Qt Creator и установите его. Мой совет-загрузить 4.1 (или верхнюю версию) снимки если вы собираетесь использовать проекты 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, в данном случае:

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

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

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

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

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

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

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

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

теперь вам как раз нужно чтобы указать комплект:

Инструменты > Параметры > C++, Наборы, Добавить

  • на имя 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 просто скопируйте ниндзя.exe в каталог mingw-w64\bin и в комплекте, в генератор Cmake нажимаем заменить на генератор->ниндзя , и дополнительный генератор - >CodeBlocks. Ninja запускает несколько команд make одновременно, что уменьшает время компиляции.


длинный текст для 1 минуты конфигурации. Набор что мы выбираем для скомпилируйте проект, и можно иметь столько наборов, сколько пожелаете (CompilerA x32 + Qt5.x, CompilerB x64 + Qt5.х , CompilerX х64 + библиотеки Qt4.8 и т. д., и т. д.).

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

это переменные, которые будут добавлены в команду, которая запускает наши запуски / сборки для тестирования и отлаживать.

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

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

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


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

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


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

С другой стороны, у нас есть:

  • MSYS2, среда Linux как инструменты.

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

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


EDIT: исправлены наименования, последнее объяснение и добавлен url ниндзя и примечание по установке.


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

вы можете установить эти пакеты MSYS2, используя Пакман:

  • mingw-w64-i686-qt
  • mingw-w64-i686-qt-creator
  • mingw-w64-x86_64-qt
  • mingw-w64-x86_64-qt-creator

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

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


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