Как правило, возникают две основные проблемы, возникающие при создании отбрасываемых источников рефраста, которые исходят непосредственно от Microsoft.
Во-первых, команда build -cz -daytona
является либо опечаткой, либо использует недокументированную дополнительную внешнюю конфигурацию. Сборка в этом режиме анализирует весь источник, но никогда не указывает, какую платформу (ы) нужно построить. Поскольку все платформы dirs
(daytona
и win9x
), в которых указаны фактические выходные данные, являются "необязательными", на самом деле ничего не создается. Решение этой проблемы состоит в том, чтобы вместо этого использовать правильно указанную команду build -cz daytona
(без '-
' на daytona
). Это должно проанализировать источники и затем на самом деле построить все.
После этого обычно есть проблемы с настройкой сборки из коробки.
Новые WDK (например, в Vista) обычно завершаются неудачно на последнем этапе связывания с ложной ошибкой компоновщика. Это легко исправить, добавив:
LIBRARIAN_FLAGS = $(LIBRARIAN_FLAGS) /IGNORE:4001
в link/sources.inc
файл сборки. После этого build -cz daytona
в корне исходного сброса должен собрать и связать все из коробки.
В XP также часто возникают проблемы при использовании старых DDK (до Windows Server 2003, то есть DDK, помеченных как «XP»). В частности, в проекте refrast используются внешние заголовки D3D9, которые не включены в XP DDK. Простое использование последних WDK (переименованных из «DDK» после XP) решает эту проблему. В отличие от наименования, все более новые WDK, как правило, являются надмножествами более старых выпусков и поэтому включают в себя среды сборки для платформ, начиная с XP.
Также могут быть проблемы с некоторыми исходными выпусками XP refrast, включая код, который вызывает больше педантичных ошибок компилятора в более новых выпусках компилятора WDK. Однако они обычно могут быть легко исправлены с помощью итеративной компиляции и подстройки исходного кода в ответ на любые простые ошибки безопасности / корректности, возникающие в компиляторе.