4

私は厄介なリンカーの問題を抱えています-VS2010はこのファイルを見つけることができないと主張していますが、それは明らかにそこにあり、パスは正しいです-私は同じフォルダー内の他のライブラリを使用していますが、すべて問題なく動作します。(d3d9.lib、およびdinput8.lib)関連する場合に備えて、2010年2月バージョンのDXSDK(DX9)を使用しています。ファイル名をコピーして貼り付けてみたので、入力ミスがなかったことがわかります。私の「追加の依存関係」の行は次のようになります。

Library.lib;d3d9.lib;dinput8.lib;dxguid.lib;%(AdditionalDependencies)

追加のライブラリディレクトリ行は(デバッグビルド用)です。

$(DXSDK_DIR)\Lib\;$(SolutionDir)\Debug;%(AdditionalLibraryDirectories)

(Library.libは私自身のライブラリであり、$(SolutionDir)\ Debugフォルダー、またはリリースビルドのリリースに格納されていますが、それは問題ではありません。)

DXSDKディレクトリには、x64とx86の2つのサブフォルダが含まれており、ファイルは、正常に動作する他の2つのライブラリとともに両方に存在します。(Windows 7 64ビットを実行しているので、最初のものを使用する必要があります。)何かアイデアはありますか?

4

2 に答える 2

9

編集:dinput8およびd3d9ライブラリはすでに標準ライブラリに含まれている可能性があります(それらは古すぎます)。これが以前は機能していた理由です。

ディレクトリ

$(DXSDK_DIR)\Lib

完全なパスではありません。どちらかでなければなりません

$(DXSDK_DIR)\Lib\x86

また

$(DXSDK_DIR)\Lib\x64

ターゲットに応じて。

32ビット環境用にプロジェクトをビルドしている場合(Configration Managerに移動し、正確なターゲットを確認します)、x86サブディレクトリを使用します。それ以外の場合はx64を使用します。

于 2012-06-28T21:51:27.137 に答える
0

また、Visual Studio Express 2008、2010、およびCodeBlocksの場合、追加ライブラリのリストの一番上にあるDirectXへのパス、またはそれが呼び出される可能性のあるものが必要であることに注意してください。奇妙な記号が付いたパス(仮想パスですよね?)を使用するだけでなく、DirectXインストールでパスを直接参照します。

32ビットマシンを使用している場合はLib/x86を使用し、64ビットを使用している場合はLib/x64を使用します。また、DirectXヘッダーを含むIncludeディレクトリを必ず含めてください。

これが役立つかどうかはわかりませんが、古いDirectXコードを使用している場合は、私のビデオチュートリアルシリーズをご覧ください:http: //hi-techheadache.blogspot.com/p/using-old-source-code.html

また、DirectXで動作するようにこれらのIDEをセットアップする方法を示しているので、私が言ったことすべてを明確にします。

于 2013-04-08T09:11:17.553 に答える