« C++20のmodule使ったDirect3D12デモ | トップページ | Direct3D12のコマンドキューの記事を追加 »

2021.02.16

DirectX SDK June 2010がダウンロードできなくなってどうしたらいいか…復活

DirectX SDK自体は復活しました(2021/3/3)。

続・2021年のDirectX 9の話
http://masafumi.cocolog-nifty.com/masafumis_diary/2021/03/post-f544e0.html

----------------

先日、下記のような記事でDirectX SDK June 2010やエンドユーザーランタイムがMicrosoftからダウンロードできなくなったことが書かれていました。

Where is the DirectX SDK (2021 Edition)?
https://walbourn.github.io/where-is-the-directx-sdk-2021-edition/

Microsoft announced last year that it was retiring all SHA-1 signed content from Microsoft Downloads in this blog post since the SHA-1 algorithm is no longer considered secure. The original timeline was stretched out a bit due to COVID-19, but as of January 2021 this content is no longer hosted by Microsoft servers.

In particular, this means the legacy DirectX SDK, the DirectX End-User Runtime, and the DirectX End-User Runtime Web Installer are no longer available for download from Microsoft.

要約するとSHA-1の脆弱性を抱えたインストーラの配布をやめるとのことですね。もっと前になくなるはずがCOVID-19の影響でここまで伸びてたみたいです。

DirectX SDK June 2010はもう11年前でありますが、学校教育の場では結構使われてると聞きます。ちょうど今のタイミングは就職活動で作品をいろいろと会社に送ったりしてるのかもしれないですが、上記のインストーラの配布終了で送った先で作品が動かないということがあるかもしれません。

ちょうど昨年PlayStation 5が出たばかりですが、多くの開発会社が前の世代でDirectX11や12に移行して、Windows 7のサポートが終わり、開発OSもWindows 10に移行してるところが大半かと思います。こうした環境では普段からDirectX SDK June 2010をインストールしていることがないので、送られてきたDirectX9のゲームを動かすための環境構築でひと手間かかります。

上記記事に書かれてますが、DirectX9の開発自体はVisual Studio 2017/2019ではWindows SDKに含まれていますのでまだ大丈夫です。d3d9.hやd3d9.libは入ってます。ただ、d3d9d.libはありません。もしもDebugビルドでd3d9d.libをリンクしているとd3d9d.dllがなくてやはり動かないバイナリになります。

上記記事のDeveloper Runtimesの項で書かれていますが、Windows 10ではDebugランタイムを動かすための開発者ランタイムの有効かのためにグラフィックスツールを入れますが、Windows 10のグラフィックスツールにはDirect3D9のデバッグランタイムは含まないようです。

それからもう1つ、Windows 10はD3DXのDLLがデフォルトで入っていないのでJune 2010でD3DXを使っているとD3DXのDLLがなくてやはり起動しないということも起きます。これも上記のインストーラの配布停止の影響で新たに入手が難しいです。D3DXに関してはDirect3D11で開発している人にも関係するかもしれません。

D3DXに関しては移行ガイドがあります。現在Direct3D9~Direct3D12どのバージョンでも開発するのに推奨なのはVisual StudioのWindows SDKに入ってるものやMicrosoftがGitHubで公開しているライブラリ群です。開発時間がある人はD3DXに関しては移行しておくことをお勧めします。

Living without D3DX
https://walbourn.github.io/living-without-d3dx/

そんなわけで、今の時期に配布終了とか大変なことになりそうな予感がしてますが、やはりもう10年を超えたので古すぎるものはやめましょう。

« C++20のmodule使ったDirect3D12デモ | トップページ | Direct3D12のコマンドキューの記事を追加 »

Programming」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« C++20のmodule使ったDirect3D12デモ | トップページ | Direct3D12のコマンドキューの記事を追加 »