導入
DirectX 9.0 SDK Update (October 2004)を VisualC++6.0 で使おうとすると、
d3dx9.lib(cvsprogram.obj) : error LNK2001: 外部シンボル "___security_cookie" は未解決です
といったリンクエラーが大量に出ます。
これは、October 2004 の Update がデフォルトでは、VisualC++6.0 には対応していないためです。しかしExtrasという追加プログラム群に含まれるファイルを使えば、VC6にも対応させることが出来ます。
これは、October 2004 の Update がデフォルトでは、VisualC++6.0 には対応していないためです。しかしExtrasという追加プログラム群に含まれるファイルを使えば、VC6にも対応させることが出来ます。
必要なもの
- DirectX 9.0 SDK Update (Summer 2004)
- DirectX 9.0 SDK Update (Summer 2004) Extras
Microsoftのサイト(英語)にアクセスしてサーチフォームで「directx sdk summer 2004」などと打ち込んで検索かければ発見できます。extrasが欲しいときには、それも検索ワードに付け足しましょう。
ちなみにこれらのファイルは今のところ、
»SDK本体
»Extras
にありますが、Microsoftのページは移動が激しいのでいつまであるかは分かりません。
ちなみにこれらのファイルは今のところ、
»SDK本体
»Extras
にありますが、Microsoftのページは移動が激しいのでいつまであるかは分かりません。
手順
- SDK 本体のインストールおよび VC の設定
まぁこれは Luna のオフィシャルサイトにも書いてありますし、ここでもそのうち誰かが書くでしょうから割愛します。 - Extras の実行
中身はWinzipの自己解凍書庫なので実行すれば勝手に解凍してくれます。ただし、解凍する場所のパスに日本語が含まれていると表示が文字化けします。Cドライブ直下とかにTempフォルダ作ってそこに解凍してやったほうがいいかもしれません。 - d3dx9.lib の上書き
解凍されたファイルの中に「D3dx Visual Studio 6」というフォルダがあるので、その中にある d3dx9.lib をDirectX SDKをインストールしたフォルダ内のLibというフォルダ内にある同名のファイルに上書きします。 - 終了
これでリンクエラーは回避できるはずです。Lunaのサイトからサンプルなどを落としてきてコンパイルしてみましょう。
ちなみに現状では Luna は DirectX 9.0 SDK Update (October 2004) にしか対応していません。また、DirectX SDKもこれより新しいものは VC6 に対応していません。というわけで、もし Luna が最新の DirectX SDK に対応し始めたら、VC6 を用いて Lunaを使うことはほぼ不可能になります。その場合は全ては Microsoft の陰謀だと思って、おとなしく.NET 買ってください。
いやまぁ、BCCやGCCでやるとかいう手もありますが。
いやまぁ、BCCやGCCでやるとかいう手もありますが。