Question

Microsoft distribue le code source pour faire référence aux implémentations de leurs différentes API Direct3D aux vendeurs de matériel, aux développeurs de pilotes, etc. Ce code est généré à l'aide du système de construction WDK (anciennement DDK), toujours crypté, et ne fonctionne pratiquement jamais en dehors boîte. Bien que largement utilisé, ce code est semi-privé. Il n’ya donc jamais d’informations de base utiles sur le Web. Ceci est couramment utilisé (et une douleur bien connue dans la communauté), et les informations de construction de base assez insensibles pour pouvoir être détecté sur Google.

Le fichier lisez-moi de construction suggère d'utiliser le WDK et de construire à l'aide de la commande build -cz -daytona . Cela crée, déroutant, un tas de résultats, mais rien ne se construit.

Après cela, Vista avec WDK 6001.18002, la dernière distribution source de d3def9 échoue dans le sous-projet link avec l'option "Impossible de générer un résultat - un avertissement traité comme une erreur."

La compilation de XP d3dref9.dll peut également être compliquée à construire, échouant souvent de trouver des en-têtes et des types D3D.

Était-ce utile?

La solution

Il existe généralement deux problèmes majeurs relativement courants lors de la création des sources de réfrast, car elles proviennent directement de Microsoft.

Premièrement, la commande build -cz -daytona est une faute de frappe ou repose sur une configuration externe supplémentaire non documentée. La construction dans ce mode analyse tous les sources, mais ne spécifie jamais la ou les plateformes à construire. Étant donné que tous les répertoires de la plate-forme ( daytona et win9x ), pour lesquels les sorties réelles sont spécifiées, sont " facultatifs, " rien n'est jamais réellement construit. La solution consiste à utiliser à la place la commande build -cz daytona correctement spécifiée (no ' - ' sur daytona ). Cela devrait analyser les sources, puis tout tout construire.

Passé cela, il existe généralement des problèmes liés à la configuration prédéfinie.

Les nouveaux WDK (par exemple sur Vista) échouent généralement lors de la dernière étape de liaison avec une erreur de l'éditeur de liens fausse. Ceci est facilement corrigé en ajoutant:

LIBRARIAN_FLAGS = $(LIBRARIAN_FLAGS) /IGNORE:4001

vers le fichier de construction link / sources.inc . Après cela, build -cz daytona à la racine du dépôt source devrait générer et lier tout ce qui est prêt à l'emploi.

Sous XP, il est également courant d’avoir des problèmes si vous utilisez des kits DDK plus anciens (les kits DDK portant la mention "XP" antérieur à Windows Server 2003). En particulier, le projet Réfractaire repose sur des en-têtes de base D3D9 existant à l'extérieur, et ceux-ci ne sont pas inclus dans le XP DDK. Le simple fait d'utiliser les derniers WDK (renommé "DDK" post-XP) résout ce problème. Contrairement à la dénomination, tous les nouveaux WDK sont généralement des super-ensembles d'anciennes versions. Ils incluent donc des environnements de génération pour les plates-formes via XP.

Il peut également y avoir des problèmes avec certaines versions des sources de XP Refrast, notamment du code qui provoque davantage d’erreurs de compilation du type compilateur dans les versions les plus récentes du compilateur WDK. Celles-ci, cependant, peuvent généralement être facilement corrigées par une compilation itérative et un ajustement de la source en réponse à de simples erreurs de sécurité / exactitude soulevées par le compilateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top