2012-09-29 15 views
5

私は私が書いたSDL-プログラムをコンパイルしようとしているが、私はやるとき、このエラーが現れます:SDL.dllは自分のコンピュータから欠落している - VS 2010

プログラムができませんSDL.dllがコンピュータに存在しないために起動します。 この問題を解決するためにプログラムを再インストールしてみてください

私はなぜか分かりません。私はSDL.dllを持っています。

  • 正しいフォルダ:C:\Windows\System32に入れました。

  • 私はすべてのSDLヘッダーなどに適切なPATHSを持っています。

VSは言う:1

をして、上記のエラーが画面上にポップアップ表示:

ビルドに成功しました。

+1

64ビットバージョンのWindowsをお持ちの場合は、c:\ windows \ syswow64に移動する必要があります。 –

答えて

6

あなたのデバッグフォルダまたはプログラムが現在置かれているディレクトリに追加します。

+0

これは何の違いもありません。 –

+2

@ user1068249あなたの.cppファイルが入っているフォルダはどうなっていますか?そこに私の場所があります。 – Rapptz

+0

それはdllファイルを必要とするフォルダです!ありがとうございました:) –

4

SDL.dllは、アプリケーションと同じディレクトリにあるか、またはPATH環境変数にあるディレクトリに存在する必要があります。

2

SDL.dllを同じフォルダに置くだけで、問題は解決します。 PATHの問題に答えるために、Visual Studioでデバッグ中に実行可能ファイルを探す場所を指定することができます。これは正しく設定されていない可能性があります。そのため、VSはSDL.dllを見つけることができません。

4

SDL.dllが32ビットで、64ビットシステムを実行している場合は、/Windows/System32/ではなく、/Windows/SysWOW64/にdllを配置する必要があります。これは64ビットのDLLで使用されます。

EDIT:
複数のアプリケーションで使用されている共通ライブラリでない限り、DLLをSystem32ディレクトリにコピーして展開する必要はありません。たとえば、アプリケーションがDLLを更新すると、古いバージョンのライブラリに依存する他のアプリケーションが壊れる可能性があります。

代わりに、実行可能ファイルがビルドされているのと同じディレクトリにDLLをコピーします。Visual Studioでビルドして実行している場合、ソースファイルが置かれているプロジェクトディレクトリでDLLが検索されます。

+1

これまでのディレクトリ構造は誤解を招きます。 – zeboidlund

+0

こんにちは、システムフォルダの下の特定のフォルダにSDL.dllを入れたいのですが、どうやって行うのですか? /Windows/SysWOW64/ABC/SDL.dll。 – user1219310

+0

私はあなたができるとは思わない。実際には、DLLを含むアプリケーションをSystem32ではなく実行可能ファイルと同じディレクトリに配置するだけです。私はこれを反映する答えを編集しています。 –

関連する問題