2016-07-12 4 views
10

Я знаю, что есть много сообщений об этом, но я честно ничего не понял.Как использовать MinGW-64 с Qt Creator

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

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

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

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


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

ответ

21

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

Введение

Намерение использовать компилятор 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/C++, с дополнительными инструментами редактирования для Qt Framework.


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

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

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

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

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

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

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


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

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

Для использования 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, в данном случае:

Tools> Options> C++, компиляторы Добавить> MinGW

  • В имя поставить версию компилятора , MinGW-5.3 x64
    Это название, которое будет отображаться в комплекте
  • Путь компилятора для просмотра пути компилятора C++, в данном случае D:. \ Programacion \ mingw64_5.3.0rev0 \ Bin \ г ++ ех

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

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

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

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

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

  • В этом случае, D: \ Programacion \ qt64-нг \ кварты-5.5.0-x64-mingw510r0-SEH \ Bin \ QMAKE.ехе
  • В имя положил Qt% {Qt: Version} (кварты-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 (кварты-5.5.0-x64-mingw510r0-SEH)

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

Примечание: Для установки Ninja просто скопировать ninja.exe в MinGW-w64 каталог \ Bin, и в комплект, в Cmake генератор толчок изменения в генератора -> ниндзя, и Extra генератора -> 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/C++ редакторов работает таким образом. Чтобы установить редактор, укажите компилятор & путь отладчика и укажите переменные среды сборки для запуска из редактора (переопределяя эту переменную среды, которая у нас есть в Windows).

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


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

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

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

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

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


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

+0

Хорошее объяснение, я обязательно буду использовать это. Спасибо! – andseg

+0

+1 для цитирования, что только цепочка инструментов i686-w64-mingw32 упакована в Qt Creator (и вы не знаете почему). Я просто потратил неделю, пытаясь получить то, что скомпилировано в Cygwin, работающем под Qt Creator, и причина в том, что Cygwin использовал цепочку инструментов x86_64-w64-mingw32. (Моя проблема заключалась в том, что моя библиотека продавцов не поддерживает i686 tool chain, поэтому нет связи!) – PfunnyGuy

2

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

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

  • MinGW-w64-i686-кварты
  • MinGW-w64-i686-QT-творца
  • MinGW-w64-x86_64-кварты
  • MinGW-w64-x86_64-QtCreator

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

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

+1

Спасибо за комментарий. Я только узнал, что MSYS2 и Qt - две разные вещи. Допустим, я предпочитаю использовать Qt. Есть ли способ установить на нем MinGW 64? – andseg

+1

Я думал, что официальная дистрибуция создателя Qt для Windows появилась в комплекте со своим собственным компилятором MinGW-w64. Вы должны просто попытаться использовать это, не так ли? –

+1

Он поставляется с компилятором MinGW - 32 и множеством наборов MSVC, но это в значительной степени. Кроме того, я попытался запустить исполняемый файл на 64-битной машине, и он не сработал. – andseg

1

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

+0

«Непосредственно запуск из проводника также будет работать». Что вы имеете в виду? – andseg

+1

Двойной щелчок на qtcreator.exe - это то, что я имею в виду, а не использование оболочки msys2. –

Смежные вопросы