Одним из решений, предоставляемых создателями Инструментов, является копирование %LOCALAPPDATA%\QtMsBuild
в каждый каталог проекта. Но мы говорим о сотнях проектов. Делать вручную, и даже больше, выдвигать их как часть самого проекта не очень элегантно.
Одним из вариантов будет добавление шага перед сборкой, который копирует его из общего места в каждый проект (и добавление строки **/QtMsBuild
в каждый файл .gitignore). Опять же, похоже, слишком много работы.
При просмотре файла .vcxproj для проекта Qt вы обнаружите этот фрагмент (причина решения, предоставленного создателями):
<PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">
<QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
Итак, самое простое решение (без возможности установки инструментов) - скопировать каталог %LOCALAPPDATA\QtMsBuild
(из системы с установленными Инструментами) на ночной компьютер (в любом обычном месте, но я решил сохранить местоположение, используемое инструментами), а затем установите переменную среды:
set QtMsBuild=%LOCALAPPDATA%\QtMsBuild
PS: не добавляйте двойные кавычки в переменную (по крайней мере, у меня были проблемы с ними, поэтому VS не смог найти файлы).