3

Microsoft は、さまざまな Direct3D API の実装を参照するためのソース コードをハードウェア ベンダーやドライバー開発者などに配布しています。このコードは広く使用されていますが、セミプライベートであるため、基本的な有用な情報がより広い Web で入手できることはありません。これは十分に一般的に使用されており (そして、このコミュニティではよく知られている厄介な問題です)、基本的なビルド情報は機密性が低いため、Google で見つけられるはずです。

ビルドの readme では、WDK を使用し、コマンドでビルドすることが提案されていbuild -cz -daytonaます。紛らわしいことに、これは大量の出力を吐き出しますが、何も構築しません。

これを乗り越えると、WDK 6001.18002 を搭載した Vista、最新の d3def9 ソース配布がlinkサブプロジェクトで失敗し、「出力を生成できませんでした - 警告はエラーとして扱われます」というメッセージが表示されます。

XP d3dref9.dll もビルドが混乱する可能性があり、D3D ヘッダーとタイプを見つけられないことがよくあります。

4

1 に答える 1

3

通常、Microsoft から直接提供されるため、屈折ソース ドロップを構築する際には、2 つの大きな問題がよく発生します。

まず、build -cz -daytonaコマンドがタイプミスであるか、文書化されていない追加の外部構成に依存しています。このモードでビルドすると、すべてのソースが解析されますが、ビルドするプラットフォームが指定されることはありません。実際の出力が指定されているすべてのプラットフォームdirs(daytonaおよび) は「オプション」であるため、実際には何もビルドされません。win9xこれに対する解決策は、代わりに正しく指定されたコマンドを使用することですbuild -cz daytona(no ' -' on daytona)。これにより、ソースが解析され、実際にすべてがビルドされます。

これを過ぎると、通常、すぐに使用できるビルド セットアップにも問題があります。

新しい WDK (Vista など) は通常、最後のリンク手順で偽のリンカー エラーで失敗します。これは、次を追加することで簡単に修正できます。

LIBRARIAN_FLAGS = $(LIBRARIAN_FLAGS) /IGNORE:4001

link/sources.incビルドファイルに。この後build -cz daytona、ソース ドロップのルートで、すべてをすぐにビルドしてリンクする必要があります。

XP では、古い DDK (Windows Server 2003 より前、つまり「XP」ラベルの DDK) を使用すると問題が発生することもよくあります。特に、refrast プロジェクトは、外部に存在するコア D3D9 ヘッダーに依存しており、これらは XP DDK には含まれていません。最新の WDK (「DDK」ポスト XP からブランド変更) を使用するだけで、これが解決されます。命名に反して、新しいすべての WDK は通常、古いリリースのスーパーセットであるため、XP 以前のプラットフォーム用のビルド環境が含まれています。

新しい WDK コンパイラ リリースでより詳細なコンパイラ エラーをトリガーするコードを含む、一部の XP refrast ソース リリースにも問題がある可能性があります。ただし、これらは通常、コンパイラによって発生した単純な安全性/正確性のエラーに対応して、反復コンパイルとソース調整によって簡単に修正できます。

于 2009-01-02T20:21:21.053 に答える