我在链接器中有错误
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 用于 VS
源代码在这里: http: //pastebin.com/DfdfSfWd (这是 Visual Studio 在为 CUDA 5.0 创建的新项目中生成的示例)
[编辑]
链接器的设置
配置属性->链接器->常规->附加库目录:
$(CudaToolkitLibDir) $(CUDA_LIB_PATH) $(CUDA_PATH)\lib\$(PlatformName)
配置属性->链接器->输入->附加依赖
cuda.lib;cudart.lib; 和其他库..
但在属性中,我看到 CUDA 有自己的 Linder,“CUDA Linker”并且没有设置
其他图书馆目录
和
附加依赖项
所以我设置了这个属性但没有任何改变,链接器仍然有问题。
[编辑]
好的,错误是当我改变
配置属性->CUDA C/C++->设备->代码生成
从
计算_10,sm_10
到
计算_20,sm_20
并为 CUDA C/C++ 添加一个标志 -dc