CUDA SDK でサンプル コードを実行しようとすると、このエラーが発生します。私はCUDA 2.3とVisual Studio 2008を持っています
リンク: 致命的なエラー LNK1181: 入力ファイル 'cutil32D.lib' を開けません
これを解決する方法はありますか?
CUDA SDK でサンプル コードを実行しようとすると、このエラーが発生します。私はCUDA 2.3とVisual Studio 2008を持っています
リンク: 致命的なエラー LNK1181: 入力ファイル 'cutil32D.lib' を開けません
これを解決する方法はありますか?
SDK サンプルをコンパイルしているので、プロジェクト ファイルはおそらく正しいでしょう。はるかに可能性が高いのは、cutil ライブラリをビルドしていないことです。SDK インストール ディレクトリに移動してから、「C」ディレクトリに移動します。「共通」ディレクトリが表示されます。そこで cutil.sln ソリューション (または VS2008 の場合は cutil_vc90.sln) を開き、プラットフォームのリリースおよびデバッグ モードでビルドします。
次に、サンプルをもう一度試してください。
cutil ライブラリは、すべてのサンプルで同じコードを複製することを避けるために使用されます。独自のプロジェクトを開始する場合は、cutil ライブラリの再利用を避け、独自のチェッカーを記述します。たとえば、cutil で行われるように exit() を呼び出すだけでなく、CUDA エラーを検出した場合は、おそらく正常に失敗するはずです。
SDK に含まれる cuda.rules ファイルを強くお勧めします。これを使用すると、任意のプロジェクトに .cu ファイルを追加するだけで、Visual Studio はそれらをコンパイルして最終的な実行可能ファイルにリンクする方法を認識します。簡単!
私は同じ問題に遭遇しました。cutilプロジェクトだけでなく、SDKの共有フォルダーの下にshrUtilsプロジェクトをビルドする必要があることがわかりました。
MSVC プロジェクトには、cutil32D.lib
リンクするライブラリが含まれている必要があります。それをライブラリとして指定すると、リンカーは最終的なバイナリ アーティファクトに含める必要があります。この問題は解消されます。リンカーが検索しようとしている場所にライブラリが見つからないようです。ライブラリの検索パスを変更するか、そのファイルをリンカーが既に探しているディレクトリに移動する必要があります。