Подтвердить что ты не робот

Создание Qt5 с Visual Studio 2012/Visual Studio 2013 и интеграция с IDE

Как вы получаете Qt5 для загрузки и интеграции с Visual Studio 2012? Каковы некоторые из проблем, с которыми вы столкнетесь, и как вы решаете эти проблемы?

ОБНОВЛЕНИЕ re. Visual Studio 2013

Успехи сообщаются также с Visual Studio 2013, а примечания сохраняются для VS 2013.

Также обратите внимание, что фокус вопроса сильно зависит от построения Qt с Visual Studio. Также есть замечания по интеграции с IDE Visual Studio

4b9b3361

Ответ 1

Этот метод протестирован для работы с Visual Studio 2013. Предварительно созданные двоичные файлы с использованием Visual Studio 2012 и 2013 доступны здесь, включая OpenGL версии.

Шаг 1: Настройка

  • Загрузите и установите RapidEE здесь. RapidEE - редактор переменных среды Windows. Это чрезвычайно полезно для остальной части этого процесса (и просто в целом).

  • Установите SDK DirectX 11. Теперь он входит в состав Windows 8 SDK, поэтому вам сначала нужно установить DirectX 10 SDK, который вы можете получить здесь (но см. Предупреждение в следующем предложении). Если у вас установлен распространяемый пакет Visual С++ 2010, и вы, вероятно, это сделали (он автоматически устанавливается вместе с VS 2010), выполните шаги, описанные здесь, чтобы помочь с установкой DirectX 10. После установки SDK DirectX 10 загрузите и установите SDK Windows 8 здесь, в котором содержится SDK DirectX 11. Да, это боль, но если вы не знаете, что у вас есть SDK DirectX 11, сборка Qt завершится с ошибкой.

  • Установите Python для Windows (я слышал 2.6+, работая с 3.3) из Python.org или Anaconda Python.

  • Установите Perl для Windows из ActiveState.


Шаг 2: Создание (и построение) Qt5 (да, что означает Git)

  • Следуйте руководству по установке для Windows на веб-сайте qt-проекта.

    Резюме

    Чтобы обобщить детали из приведенной выше ссылки и из следующих примечаний (ПОЖАЛУЙСТА, СМОТРИТЕ СЛЕДУЮЩИЕ ПРИМЕЧАНИЯ, если у вас есть какие-либо ошибки, на них может быть дан ответ):

    • Удалите Avast (если у вас есть установленный), чтобы избежать ошибок сборки. Да, это буквально означает удалить. Удалите его на 100% из вашей системы. Деактивация не будет работать. См. Подробные примечания ниже.

    • Примечание для первых шагов: НЕ используйте SmartGit для первого git pull, ниже (если вы действительно не знаете, что делаете), поскольку значения по умолчанию для SmartGit будут тянуть все, и это не то, что вы хотите.

    • Git для Windows должен быть установлен.

    • Определите, где вы хотите установить Qt, и cd в каталог, который будет содержать новую установку, из любого окна командной строки. (Поскольку процесс настолько хрупкий и подвержен ошибкам, я лично положил его непосредственно в C:, но это, вероятно, не обязательно).

    • В приведенном выше каталоге выполните:

      git clone git://gitorious.org/qt/qt5.git qt5

      Это быстро. Как только вы закончите, вы должны быть на ветке "стабильная", но вы всегда можете запустить git checkout stable после cd ing в недавно созданный каталог qt5, чтобы быть уверенным. Использование git checkout 5.4.1 подтверждено для работы с 64-разрядным VS2013.

    • Закройте окно текущего окна командной строки (если оно не является окном командной строки Visual Studio), прежде чем перейти к следующему шагу. Это делается для того, чтобы убедиться, что вы используете окно командной строки Visual Studio в следующих шагах.

    • Далее запустите 32-разрядную (x86) или 64-разрядную командную строку VS Tools (в зависимости от того, строя Qt5 как 32- или 64-разрядный). Чтобы получить доступ к этому, вы должны найти его в меню "Пуск" - перейдите к Program Files[Microsoft] Visual Studio 2012/2013Visual Studio Tools, и вы увидите его там с забавным именем; имя должно включать фразу Native Tools; 32-битная версия будет иметь x86 в названии, а в 64-битной версии будет x64 в имени.

    • cd в вновь созданный каталог qt5 с шага выше.

    • В командной строке Visual Studio необходимо загрузить оставшуюся часть подмодулей Qt:

      perl ./init-repository --no-webkit

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

    • Затем загрузите все оставшиеся ДОПОЛНИТЕЛЬНЫЕ подмодули, которые init-repository не загружается - SmartGit работает хорошо, только начиная с этого этапа (см. комментарии ниже).

    • После завершения загрузки Qt следующая команда подготавливает среду сборки (ее также следует выполнить с помощью командной строки [32 | 64] VS Native Tools]:

      configure -developer-build -opensource -confirm-license -mp -nomake examples -nomake tests -debug-and-release -c++11 -no-warnings-are-errors -platform win32-msvc2012.

      Примечания к этой командной строке: параметр c++11 может не понадобиться с помощью компилятора VS2012, но работает с VS2013; -no-warnings-are-errors необходим, если вы получаете ошибки в 64-битной автоматической сборке ANGLE; -platform автоматически устанавливается на win32-msvc2012, поэтому по умолчанию используется 32-разрядная сборка Qt, и -платформу, вероятно, не нужно предоставлять в командной строке (EVEN, если у вас установлены предыдущие версии VS). Для VS2013 используйте -platform win32-msvc2013.

      Для выполнения этого шага требуется несколько минут, но это не так уж плохо.

    • Наконец, команда на самом деле строить Qt в системе (также выполняться в командной строке VS Native Tools) просто:

      nmake

      Ожидайте, что часы будут завершены. Если вы указали выходную папку с -prefix (см. Примечания ниже), используйте nmake install, в противном случае это.


ПРИМЕЧАНИЯ:

Общие примечания

Если вы сбиты с толку из вышеупомянутой документации, просто FYI, что библиотека ANGLE будет использоваться (по умолчанию) вместо OpenGL и поэтому вам нужно было установить DirectX 11 выше.

Убедитесь, что вы используйте командную строку VS Native Tools Command Prompt для запуска всех команд из приведенной выше ссылки (то есть perl .\init-repository --no-webkit, configure и nmake). Вы будете использовать командную строку [32 | 64] бит (x86 или x64), в зависимости от того, строите ли вы Qt как 32-разрядную или 64-разрядную. Если вы установите perl с открытой командной строкой (убедитесь, что она находится в PATH), вам необходимо перезапустить командную строку для perl, которая будет распознана как команда.

При запуске "init-repository" (из шагов в приведенной выше ссылке), это не ясно из документации, но вы должны выполнить это через perl; т.е. perl ./init-repository --no-webkit. Однако команды configure и nmake вызываются напрямую.

Один очень полезный вариант для перехода на configure - -mp, что заставляет Qt строить на нескольких ядрах параллельно, значительно ускоряя (длительное) время сборки.

Чтобы указать выходную папку, добавьте команду -prefix [outfolder] в команду configure. Например, использование -prefix %CD%\output\x64\vc12 будет подходящей выходной (суб) папкой для 64-битной сборки Visual Studio 2013 (12.0).


Поддержка Unicode (ICU)

Если вам нужна поддержка Unicode (через ICU), обратите особое внимание на инструкции, указанные в ссылке выше. Таким образом, ICU должен быть построен с нуля в VS 2012, так как единственные предустановленные бинарные файлы для ICU для Windows - для VS 2010. Строительство в VS 2012 безболезненно - просто найдите решение ICU (.sln) в <icuroot> \icu\source\allinone и строить как в режиме отладки, так и в режиме Release (в 32-битном или 64-битном режиме, в зависимости от того, в каком режиме вы строите Qt). НЕ создавайте другую битту, потому что ICU перезапишет выходную папку с двоичными файлами). (Процесс сборки Qt будет правильно размещать сборку отладки и выпуска ICU.) Он должен строиться без ошибок. Затем добавьте путь к <icuroot> \lib в качестве строковой записи в (возможно) новой переменной среды Windows, называемой "LIB" (для этого вы можете использовать Rapid EE, сделать LIB "расширяемой строкой" в RapidEE, хотя там только 1 запись), а также добавить путь к <icuroot> \include как запись строки в (возможно) новой переменной среды Windows, называемой "INCLUDE". (Примечание. Добавление этих путей в переменную PATH не будет работать.) После создания Qt вы можете удалить все эти записи, которые вы только что добавили. Кроме того, добавить путь среды выполнения к DLL ICU (<icuroot> \bin) в переменную PATH среды или процесс сборки Qt (в частности, при запуске uic.exe) предоставит обманчивая и вводящая в заблуждение ошибка. Наконец, в командной строке configure (ниже) обязательно добавьте -icu в качестве дополнительного параметра командной строки.

Сбой ICU:

В настоящее время, похоже, есть ошибка сборки Qt5 с компилятором VS2012, КОГДА ICU ISABLED. В частности, qtbase\src\corelib\codecs\qtextcodec.cpp Линия 688 (Qt5 v5.02) не может вернуть кодек для имени кодека "US-ASCII" (кодек NULL), что приводит к сбою "lrelease.exe" при попытке разыменовать кодек позже (I потеряли этот номер файла/строки, но это очевидное различие в переменной NULL codec). К сожалению, это означает, что, насколько мне известно, WebKit не может быть построен с (по крайней мере) 32-разрядной сборкой Qt5 с компилятором VS2012, потому что для WebKit требуется ICU.

Если кто-то может построить Qt5 с компилятором VS2012 с включенным ICU, обновите эту Wiki так.

Уточнение ICU:

Если у вас есть ICU на вашем пути, Qt автоматически построит его. Другими словами, флаг "-icu" существует неявно. Однако это вызывает ошибку с "lrelease.exe", как указано выше. Таким образом, путь вокруг этого заключается в добавлении флага, -no-icu в команду configure


Дополнительные субмодули

Если вам нужны подмодули в дополнение к подмодулям по умолчанию, вы можете использовать SmartGit (или командную строку) после завершения команды init-repository. SmartGit, пожалуй, проще всего, потому что вам не нужно копировать путь к командной строке, но можете напрямую использовать пользовательский интерфейс.

ПРЕДУПРЕЖДЕНИЕ: НЕ ЗАГРУЖАЙТЕ ДОПОЛНИТЕЛЬНЫЙ qlalr SUBMODULE, так как он не будет строиться в сочетании с общей сборкой Qt и не нужен пользователям Qt, а используется только для внутренних Разработка Qt.

ПРЕДУПРЕЖДЕНИЕ: Командная строка оболочки, за которой следует perl .\init-repository --no-webkit, должна использоваться (NOT SmartGit); эти шаги будут правильно загружать только стандартные подмножества Qt по умолчанию. Вы должны не использовать SmartGit для клонирования и загрузки Git файлов из git://gitorious.org/qt/qt5.git, потому что SmartGit в настоящее время не обрабатывает подмодули правильно. Вместо этого откройте стандартную командную строку командной оболочки Windows (используя любое приложение командной строки, не обязательно командную строку VS Tools) и (предполагая, что Git правильно установлен в системе, установка SmartGit может или не будет делать это автоматически; если нет, перейдите в Git для Windows и установите непосредственно) введите git clone git://gitorious.org/qt/qt5.git непосредственно из командной строки; возможно, следуйте этому с помощью git checkout stable (я не уверен, что эта ветка проверена по умолчанию); затем следуйте за командной строкой perl .\init-repository --no-webkit, чтобы вытащить репозитории DEFAULT (за исключением WebKit, для которого ICU и ICU, по-видимому, не могут быть построены в 32-битном Qt5 с VS2012, см. комментарии).

Ниже приведены шаги для загрузки всех необходимых исходных файлов Qt: 1. Используйте командную строку Windows для выполнения начального git clone git://gitorious.org/qt/qt5.git; 2. Выполните perl .\init-repository --no-webkit из командной строки VS Tools 2012; и затем необязательно 3. Используйте SmartGit (по ссылке выше) (или эквивалент) для "открытия существующего проекта" (выберите корневую папку Qt5) и сделайте Pull из SmartGit для загрузки любых репозиториев, отличных от настроек по умолчанию (но не загружайте qlalr)., Это; у вас есть все необходимые и дополнительные Qt файлы (включая подмодули) в вашей системе.

Если кто-либо обнаруживает другие необязательные подмодули, которые не могут быть созданы и/или предназначены только для внутреннего использования (кроме qlalr), обновите эту Wiki, чтобы указать их.

В общем случае допустимы подмодули по умолчанию, полученные через perl .\init-repository --no-webkit. Если вы знаете или позже узнаете, что вы другие (не по умолчанию) модули, вы всегда можете добавить их позже.


Общие проблемы

Если в какой-то момент вы получите сообщение о том, что команда "python" (или что-то подобное) не распознается, просто проверьте, что папка, содержащая python.exe (или соответствующий .exe), является частью переменной пути, Если это не так, добавьте его (используйте RapidEE, как указано выше для удобства) и попробуйте повторить то, что вы делали. Если он есть, убедитесь, что вы перезапустили свою командную строку ПОСЛЕ добавления команды к пути.

Важно отметить две другие проблемы, связанные с путями (цитируется в документации, связанной со ссылкой выше): "Убедитесь, что исполняемый файл perl находится в пути до исполняемого файла perl, предоставленного msysgit, поскольку последний устарел"; и "Возможно, вы не сможете построить, если sh.exe находится в вашей PATH (например, из-за установки Git или msys). Такая ошибка указана командой qt5-srcqtbasebinqmake.exe: команда не найдена и не существует. в этом случае убедитесь, что sh.exe не находится на вашем пути. Вам придется повторно настроить, если ваша установка уже настроена.

Во время процесса вы можете столкнуться с ошибкой, используя nmake в файле. Если вы это сделаете, просто зайдите в этот каталог и принудительно создайте файл проблемы. Затем снова запустите процесс nmake на Qt5.


Конкретные проблемы

ВНИМАНИЕ: вам может потребоваться отключить антивирусное программное обеспечение И SANDBOXING во время процесса Qt nmake (и, чтобы быть в безопасности, на протяжении всего этого процесса). Внутри Qt выполняет несколько исполняемых файлов, которые могут препятствовать антивирусным программам (иногда молча). В частности, если у вас есть программное обеспечение для песочницы, убедитесь, что вы отключили песочницу.

ПРЕДУПРЕЖДЕНИЕ: AVAST! Пользователи песочницы: у Avast Sandbox есть ошибка, в которой даже при отключении автоматической песочницы Avast песочница НЕ будет отключена, и она будет беззвучно изолировать все файлы ресурсов, автоматически созданные Qt rcc во время процесса сборки Qt. Конструкция Qt ALWAYS терпит неудачу для любого пользователя, который установил Avast autosandbox, EVEN WITH AUTO-SANDBOXING TURNED OFF. ТОЛЬКО ПУТЬ ПРЕКРАТИТЬ ЭТОТ ВЫПУСК, ЧТОБЫ ПОЛНОСТЬЮ УДАЛИТЬ АВИА! ОТ ВАШЕЙ СИСТЕМЫ перед построением Qt. Вы можете переустановить Avast! после завершения сборки Qt.


Компиляция Qt5 может занять много времени (часы, даже с опцией многопоточности -mp). Patience.


Шаг 3: Интеграция Qt5 с Visual Studio 2012

  • Загрузите и установите Visual Studio Qt5 addin. Он находится в разделе "Другие загрузки" в нижней части страницы и не будет работать с Visual Studio Express.

  • Откройте Visual Studio 2012 и перейдите к Qt Options (в разделе "Qt5" в ​​верхней строке меню).

  • На вкладке "Версии Qt" проверьте, есть ли Qt5. Если это не так, нажмите "Добавить", выберите имя версии (вероятно, такое имя, как 5.x.x), и перейдите в папку, содержащую qmake.exe (обычно C:\Qt\qt5\qtbase).

  • Закройте диалоговое окно Qt Options.

  • Создайте новый проект Visual Studio. Когда вы видите диалоговое окно "Новый проект", вы должны увидеть параметр Qt5 Projects Template.

  • Как только у вас появится новый проект Qt, щелкните его правой кнопкой мыши и выберите "Преобразовать в проект, созданный с помощью QMake". Создайте проект, затем щелкните его правой кнопкой мыши и выберите "Преобразовать проект в проект надстройки Qt". Снова запустите, затем запустите. Теперь у вас должен быть рабочий проект Qt.


Добавить Qt5 в существующий проект Visual Studio 2012 VС++

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

  • Щелкните правой кнопкой мыши на своем проекте в VS и выберите "выгрузить проект". Щелкните правой кнопкой мыши по проекту еще раз и выберите "изменить [название проекта].vcxproj". Это откроет файл проекта, чтобы вы могли добавить Qt5 к нему.

  • Перейдите к глобальной группе свойств и добавьте или измените <Keyword> на Qt4VSv1.0.

  • Перезагрузите проект, затем щелкните правой кнопкой мыши и выберите "Преобразовать проект в проект надстройки Qt"

  • Дождитесь завершения преобразования (это не займет больше пары секунд), затем выберите Qt5>Project Settings. Перейдите на вкладку "Модули" и проверьте модули, на которые должен рассчитывать ваш проект (базовыми являются Core, Widgets и GUI).

  • Следуя шагам здесь, добавьте каталог $(QTDIR)\include.


    ПРИМЕЧАНИЯ:

    Если вы в любой момент включаете windows.h, перед тем, как это сделать, нужно #define NOMINMAX, чтобы предотвратить конфликт с qdatetime.h.

    Как только сделанные выше шаги будут выполнены, вы можете сделать свой проект пригодным для использования Qt Creator, выбрав Qt5>Create basic .pro file.


КОНЕЦ ПРИМЕЧАНИЯ:Если у вас есть вопрос, связанный с информацией, содержащейся в этом руководстве, отправьте его как новый вопрос (не ответ здесь), и ответ или ссылка на ответ могут быть добавлены.

Ответ 2

Мне удалось успешно интегрировать Qt 5.0.2 с Visual Studio 2012 в Windows 7 на основе отличного поста Dan Nissenbaum выше (спасибо, Dan!) и эту ссылку qt-project. Поскольку я сделал несколько шагов несколько иначе, я подумал, что было бы целесообразно опубликовать его здесь:

Последовательность ниже должна выполняться в точном заданном порядке:

0 - Удалите Avast (если у вас есть установленный), чтобы избежать ошибок построения. Из-за ошибки Avast деактивация не будет работать;

1 - установите Git ( >= 1.6.x);

2 - Установите Python ( >= 2.6.x). [Python.org];

3 - Установите Perl ( >= 5.14). [Activestate.com];

4 - Установите Ruby. [Rubyinstaller.org];

5 - Откройте обычную командную строку Windows 7 (не используйте VSM012 Developer Command Prompt);

6 - Выберите любой каталог, который вы хотите для qt5, в отношении того, что НЕТ ПРОСТРАНСТВ ДОЛЖНЫ для выбранного пути. Я решил использовать путь "C:\qt5" ;

7 - В обычной командной строке Windows 7 (в моем случае, запросив "C:\qt5 > " ) введите:

git clone git://gitorious.org/qt/qt5.git qt5

8 - Оформить стабильную версию:

cd qt5
git checkout stable

9 - Вероятно, вы получите сообщение, подтверждающее, что эта версия уже стабильна. Закройте командную строку;

10 - Откройте Visual Studio Developer Console (Все программы > Visual Studio 2012 > Инструменты Visual Studio > Командная строка разработчика для VS2012) и измените текущий каталог на тот, который вы выбрали ( "C:\qt5" в ​​моем примере);

11 - Загрузите подмодули Qt, игнорируя webkit (общий источник ошибок сборки...):

perl .\init-repository --no-webkit

12 - Теперь введите эту огромную команду для правильной настройки вашей сборки:

configure -developer-build -opensource -nomake examples -nomake tests -nomake demos -debug-and-release -c++11 -mp -nomake webkit -confirm-license

13 - Затем убедитесь, что модуль qlalr будет НЕ. Для этого откройте проводник Windows и перейдите к выбранной вами Qt-директории ( "C:\qt5" в ​​моем примере) и проверьте, существует ли папка qlalr. Если это так, удалите его;

14 - Время на сборку... Возможные ошибки сборки будут поступать из вторичных модулей (таких как webkit), которые не влияют на основную функциональность Qt (сам webkit не должен быть проблемой, поскольку мы предварительно установили конфигурацию не строить его). Затем мы можем игнорировать их, а также поддерживать сборку на независимых модулях:

nmake /I /K

15 - Чтобы завершить интеграцию, следуйте шагу 3 сообщения Dan Nissenbaum выше ( "Шаг 3: Интеграция Qt5 с Visual Studio 2012" ).

Ответ 3

Просто хочу упомянуть, что есть предварительная версия Qt 5.2 для Visual Studio 2012, доступная по адресу http://qt-project.org/downloads. Поэтому, если у вас нет особого интереса к построению Qt 5 из источников, вы также можете использовать двоичные файлы предварительной сборки.

Существует также несколько предварительно скомпилированных (x64) двоичных файлов для разных версий компилятора, доступных на веб-сайте Tver-Soft.

Ответ 4

Наконец, я смог скомпилировать QT 5.1 (git) с QWebKit в Windows 8 x64 с помощью Visual Studio 2012 и решил, что поделился своим опытом с теми, у кого были проблемы.

Были ли шаги 1 и 2, как указано в вышеприведенном сообщении. Я попытался сделать шаг 3, но SmartGit вытащил кучу дополнительных проектов, которые не собирались с Qt5. Я смог решить большинство проблем, клонируя из другой вилки (например, https://qt.gitorious.org/qt/qt3d/), но это стало слишком утомительно для каждый дополнительный модуль, поэтому я решил не компилировать ни один из них.

Сообщение в Поддержка ICU в 32-битной сборке Qt5 с компилятором VS2012 вызывает отказ сборки Qt5; Webkit также является неподготовленным рассказал мне, как исправить проблему ICU.

Загрузите исходный код http://download.icu-project.org/files/icu4c/51.2/icu4c-51_2-src.zip и добавьте строку

#define U_CHARSET_IS_UTF8 1

в файл% ICU%\source\common\unicode\platform.h, где% ICU% - это путь к исходному коду ICU.

Откройте% ICU%\source\allinone\allinone.sln файл в Visual Studio 2012 и скомпилируйте. Добавьте% ICU%\bin к вашему пути.

set PATH=%ICU%\bin64;%PATH%

Затем я выполнил следующую команду в корневом каталоге QT

configure -platform win32-msvc2012 -opengl desktop -opensource -debug-and-release -I %ICU%\include -L %ICU%\icu\lib64 -mp -qt-freetype -icu

В этот момент я начал подозревать, что никто не пытался делать то, что я делал, потому что nmake начал жаловаться на неожиданные строки в make файлах (все из которых имели расширение DerivedSources, например Makefile.JavaScriptCore.DerivedSources и Makefile. WebCore.DerivedSources))

(set PATH=<stuff>;%PATH%) && ....

выполните набор PATH вручную перед запуском nmake и удалите символы до и включив && & && например.

 (set PATH=<stuff>;%PATH%) && perl -ne "print $1" css\CSSPropertyNames.in ...

Становится

perl -ne "print $1" css\CSSPropertyNames.in ...

Наконец, один из этих файлов попытается вызвать win_flex.exe(или win-flex.exe) вместо flex. Я изменил его на flex.exe, и все окончательно скомпилировано (нужно было изменить его дважды, потому что я думаю, что файл был регенерирован).

Краткий опыт работы с программой, использующей QWebKit и связанной с этой сборкой, заставляет меня думать, что все в порядке.

- Update -

Просто чтобы быть полным. Согласно Что означает (установить PATH =...;% PATH:) = ^)%) означает в оболочке Windows script, и как я могу преодолеть отказ этой строки в контекст сборки Qt5 nmake? (который указывает на http://qt-project.org/forums/viewthread/20605), большинство проблем Makefile необходимо разрешить, используя jsom вместо nmake (хотя мне все еще интересно о win-flex.exe)

Ответ 5

скомпилировать Qt 5.5 с визуальной студией 2015:

1- modefier configure.bat в каталоге qtbase, чтобы он мог генерировать configure.exe(только первые 18 строк)

  @echo off
set QTSRC=%~dp0
set QTDIR=%CD%
rem if not exist %QTSRC%.gitignore goto sconf
echo Please wait while bootstrapping configure ...

for %%C in (cl.exe icl.exe g++.exe perl.exe) do set %%C=%%~$PATH:C

rem if "%perl.exe%" == "" (
rem    echo Perl not found in PATH. Aborting. >&2
rem    exit /b 1
rem )
if not exist mkspecs (
    md mkspecs
    if errorlevel 1 goto exit
)
rem perl %QTSRC%bin\syncqt.pl -minimal -module QtCore -outdir "%QTDIR%" %QTSRC%
rem if errorlevel 1 goto exit

2- configure -opensource -confirm-license -mp -nomake examples -nomake tests -release -c++11 -no-warnings-are-errors -platform win32-msvc2015 -no-ltcg

3- nmake