gpt4 book ai didi

windows - 您如何从源代码构建 Windows D3D9 refrast?

转载 作者:可可西里 更新时间:2023-11-01 09:27:08 35 4
gpt4 key购买 nike

Microsoft 将源代码分发给硬件供应商、驱动程序开发人员等,以引用其不同 Direct3D API 的实现。此代码使用一向神秘的 WDK(以前称为 DDK)构建系统构建,并且几乎从不在外部运行盒子。尽管被广泛使用,但此代码是半私有(private)的,因此在更广泛的网络上从来没有任何基本有用的信息可用。这已经足够常用(并且在这个社区中是众所周知的痛苦),并且基本构建信息不够敏感,应该可以在 Google 上发现它。

构建自述文件建议使用 WDK 并使用命令 build -cz -daytona 进行构建。令人困惑的是,这会吐出一堆输出,但什么也没构建。

克服这一点,带有 WDK 6001.18002 的 Vista,最新的 d3def9 源代码分发在 link 子项目中失败,“无法产生任何输出 - 警告被视为错误。”

XP d3dref9.dll 也可能难以构建,经常无法找到 D3D header 和类型。

最佳答案

在构建直接来自 Microsoft 的 refrast 源掉落时,通常有两个非常常见的主要问题。

首先,build -cz -daytona 命令要么是错字,要么依赖于未记录的额外外部配置。以这种模式构建会解析所有源代码,但从不指定要构建的平台。由于所有指定实际输出的平台 dirs(daytonawin9x)都是“可选的”,因此实际上没有构建任何东西。对此的解决方案是使用正确指定的命令 build -cz daytona(daytona 上没有“-”)。这应该解析源代码,然后实际构建一切。

除此之外,开箱即用的build设置通常也会出现问题。

新的 WDK(例如在 Vista 上)通常会在最后的链接步骤中失败并出现虚假的链接器错误。这很容易通过添加来解决:

LIBRARIAN_FLAGS = $(LIBRARIAN_FLAGS) /IGNORE:4001

link/sources.inc 构建文件。在此之后,源放置根目录中的 build -cz daytona 应该构建并链接开箱即用的所有内容。

在 XP 上,如果使用较旧的 DDK(Windows Server 2003 之前的版本,即带有“XP”标签的 DDK),问题也很常见。特别是,refrast 项目依赖于外部存在的核心 D3D9 header ,而这些不包含在 XP DDK 中。只需使用最新的 WDK(从 XP 后的“DDK”更名)即可解决此问题。与命名相反,所有较新的 WDK 通常都是旧版本的超集,因此包括从 XP 开始的平台构建环境。

某些 XP refrast 源代码版本也可能存在问题,包括在较新的 WDK 编译器版本中触发更多学究式编译器错误的代码。然而,这些通常可以通过迭代编译和源代码调整轻松修复,以响应编译器引发的任何简单的安全/正确性错误。

关于windows - 您如何从源代码构建 Windows D3D9 refrast?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407905/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com