0

私はGPUでコンピュータービジョンの問題に取り組んでおり、openCVでそれを実行しようとしています。Cmakeを使用してインストールを完了し、Visual Studio 2008を使用してプロジェクトをビルドしました。次に、Visual Studio 2008で短いプログラムを作成してopenCVのインストールをテストし、プロジェクトをビルドしました。プロジェクトは完全にビルドされていますが、プログラム(ctrl + F5)を実行しようとすると、画面にメッセージが表示され、プロンプトが表示されます。

コンピュータにcudart32_42_9.dllがないため、プログラムを起動できません。プログラムを再インストールして問題を解決してください。」

このエラーとは何ですか?また、cudaプログラムでopenCVをエラーなしで正しく実行するにはどうすればよいですか?プロジェクトの締め切りがあり、過去4日間はこれを機能させることができません。とてもイライラします。これですべてが正しくインストールされましたが、最終的にはこの1つのことが私を夢中にさせています。誰かがこの問題を解決するのを手伝ってくれて、cudaでopenCVを正しく実行するように私を導いてくれたら本当に嬉しくてありがたいです。あなたの助けに感謝します。

4

1 に答える 1

2

この問題は、cudard32_42_9.dllファイルを見つけることで修正できます(cudart32ファイルとcudart64ファイルの両方がSDKまたはサンプルに含まれますが、32ビットまたは64ビットのツールキットをロードしたかどうかに応じて、1つだけがcudaツールキットに付属します)。次に、そのファイルを実行しようとしているプログラムと同じ場所にコピーします。この問題の理由は、64ビットウィンドウで64ビットtakeitをインストールすると、64ビットcudartバージョンのみがウィンドウの適切なdllロードパスにインストールされるためだと思います。アプリケーションをビルドして32ビットのcudartライブラリにリンクすると、適切な32ビットのcudartdllが自動的に正しいロードパスに配置されません。ただし、実行可能ファイルの場所は常にその実行可能ファイルのdllロードパス上にあるため、回避策としてcudartdllファイルをそこに配置できます。

于 2012-11-22T20:28:16.517 に答える