Pregunta

Microsoft distribuye código fuente para hacer referencia a implementaciones de sus diferentes API de Direct3D a proveedores de hardware, desarrolladores de controladores, etc. Este código se crea utilizando el sistema de compilación WDK (anteriormente DDK) siempre críptico, y prácticamente nunca funciona fuera de la red. caja. Aunque se usa ampliamente, este código es semiprivado, por lo que nunca hay información útil básica disponible en la web. Esto se suele usar lo suficiente (y un dolor de cabeza muy conocido en esta comunidad), y la información de compilación básica es lo suficientemente insensible, que debería ser detectable en Google.

El buildme readme sugiere usar WDK y compilar con el comando build -cz -daytona . Esto, de manera confusa, escupe un montón de resultados pero no genera nada.

Superando esto, la Vista con WDK 6001.18002, la última distribución de origen de d3def9 falla en el subproyecto link con " no ha producido ningún resultado: advertencia tratada como error. "

El XP d3dref9.dll también puede ser confuso de compilar, ya que con frecuencia no encuentra los encabezados y tipos de D3D.

¿Fue útil?

Solución

En general, existen dos problemas importantes bastante comunes en la creación de las fuentes de refrast, ya que provienen directamente de Microsoft.

Primero, el comando build -cz -daytona es un error tipográfico o se basa en una configuración externa adicional no documentada. La creación en este modo analiza toda la fuente, pero nunca especifica qué plataforma (s) construir. Dado que todas las dirs de la plataforma ( daytona y win9x ), donde se especifican las salidas reales, son " opcionales, " nunca se construye nada. La solución a esto es utilizar el comando build -cz daytona correctamente especificado (no ' - ' en daytona ). Esto debería analizar las fuentes y luego construir todo.

Más allá de esto, por lo general, también hay problemas con la configuración de compilación fuera de la caja.

Los nuevos WDK (por ejemplo, en Vista) generalmente fallan en el paso final de vinculación con un error de vinculador falso. Esto se arregla fácilmente agregando:

LIBRARIAN_FLAGS = $(LIBRARIAN_FLAGS) /IGNORE:4001

al archivo de compilación link / sources.inc . Después de esto, build -cz daytona en la raíz de la fuente de la fuente debería compilar y vincular todo fuera de la caja.

En XP, también es común tener problemas si se usan DDK más antiguos (anteriores a Windows Server 2003, es decir, "DDK etiquetados en XP"). En particular, el proyecto refrast se basa en los encabezados del núcleo D3D9 existentes externamente, y estos no están incluidos en el DDK de XP. El simple uso de los últimos WDK (con una nueva marca de " DDK " post-XP) resuelve esto. Contrariamente a la denominación, todos los WDK más recientes son, en general, superconjuntos de versiones anteriores, por lo que incluyen entornos de compilación para plataformas desde XP.

También puede haber problemas con algunas versiones fuente de refrast de XP, incluido el código que desencadena errores de compilación más pedantes en las versiones más nuevas del compilador WDK. Estos, sin embargo, generalmente pueden solucionarse fácilmente mediante la compilación iterativa y el ajuste de la fuente en respuesta a cualquier error simple de seguridad / corrección planteado por el compilador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top