リンカーにエラーがあります
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>kernel.cu.obj : error LNK2001: unresolved external symbol _cudaMalloc@8
1>kernel.cu.obj : error LNK2001: unresolved external symbol _cudaFree@4
ここに同様の質問が追加されているのを見ました: 初心者のCUDAプログラムの未解決の外部シンボル しかし、この情報はすでにリンカーに追加されています。
では、どこに問題があるのでしょうか? Visual Studio 2010 Premium と CUDA SDK 5.0 および Nsight 3.0 for VS を使用しています
ソースコードはこちら: http://pastebin.com/DfdfSfWd (これは、CUDA 5.0 用に作成された新しいプロジェクトで Visual Studio によって生成された例です)
[編集]
リンカの設定
構成プロパティ->リンカー->一般->追加のライブラリディレクトリ:
$(CudaToolkitLibDir) $(CUDA_LIB_PATH) $(CUDA_PATH)\lib\$(プラットフォーム名)
構成プロパティ->リンカー->入力->追加の依存関係
cuda.lib;cudart.lib; そして他のライブラリ..
しかし、プロパティでは、CUDAには独自のLinder、「CUDA Linker」があり、設定されていないことがわかります
追加のライブラリ ディレクトリ
と
追加の依存関係
したがって、このプロパティを設定しましたが、変更はありません。リンカーにはまだ問題があります。
[編集]
わかりました、エラーは私が変更したときです
構成プロパティ -> CUDA C/C++ -> デバイス -> コード生成
から
compute_10,sm_10
に
compute_20,sm_20
CUDA C/C++ 用のフラグ -dc を追加します。