質問

Microsoftは、ソースコードを配布して、さまざまなDirect3D APIの実装をハードウェアベンダー、ドライバー開発者などに参照します。このコードは、常に暗号化されたWDK(以前のDDK)ビルドシステムを使用してビルドされ、事実上決して動作しませんボックス。広く使用されていますが、このコードはセミプライベートであるため、基本的な有用な情報がウェブ上で公開されることはありません。これは一般的には十分に使用され(そしてこのコミュニティの尻でよく知られている痛み)、そして基本的なビルド情報は十分に鈍感なので、Googleで発見できるはずです。

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

これを超えて、VDK 6001.18002を搭載したVistaでは、最新のd3def9ソース配布が link サブプロジェクトで失敗し、「出力の生成に失敗しました-警告はエラーとして扱われます。」

XP d3dref9.dllの構築も混乱を招く可能性があり、D3Dヘッダーとタイプの検出に失敗することがよくあります。

役に立ちましたか?

解決

一般的に、Microsoftから直接送信されるrefrastソースドロップの構築には、2つの大きな問題があります。

まず、 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以前、「XP」ラベル付きDDK)を使用している場合にも問題が発生することがよくあります。特に、refrastプロジェクトは外部に存在するコアD3D9ヘッダーに依存しており、これらはXP DDKには含まれていません。これを解決するには、最新のWDK(XP後の「DDK」からブランド変更)を使用するだけです。命名に反して、すべての新しいWDKは一般に古いリリースのスーパーセットであるため、XPに戻ったプラットフォームのビルド環境が含まれます。

また、新しいWDKコンパイラリリースでより多くのペダンティックコンパイラエラーをトリガーするコードを含む、いくつかのXP参照ソースリリースに問題がある可能性があります。ただし、これらは通常、コンパイラによって発生した単純な安全性/正確性エラーに応じて、反復コンパイルとソース調整によって簡単に修正できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top