问题一:无法解析的外部符号 ___cudaUnregisterFatBinary@4
描述:
1>CUDAdll.cu.obj : error LNK2019:无法解析的外部符号 ___cudaUnregisterFatBinary@4,该符号在函数 "void __cdecl __cudaUnregisterBinaryUtil(void)" (?__cudaUnregisterBinaryUtil@@YAXXZ)中被引用
1>D:\elec\mymfctest\VS2010p\GPUDemos\CUDAdlltest\Debug\CUDAdlltest.dll : fatal error LNK1120: 2个无法解析的外部命令
原因:意思是链接的时候出错了,找不到链接外部符号,原因是缺少cuda的运行库,通过项目的链接输入中添加CUDA的运行库cudart.lib可以解决。
解决方案:
至此,在没有编辑cuda函数实现文件的情况下可以正常将项目编译成功,则表明基本上将CUDAdll的框架搭建成功了。
详见:
至此,在没有编辑cuda函数实现文件的情况下可以正常将项目编译成功,则表明基本上将CUDAdll的框架搭建成功了。
详见:CUDA dll怎么创建 测试在VS平台将CUDA相关的函数封装成dll库
问题二:如何使用cublas库
解决方案:需要添加在vc++目录中包含目录和库目录中添加cublas目录,并在链接--输入---附加依赖性中添加“cublas.lib”
问题三:在c++项目中添加cuda应用时,没有cudac++类型编译选项,即.cu文件无法编译怎么办?
解决方案:
至此,在没有编辑cuda函数实现文件的情况下可以正常将项目编译成功,则表明基本上将CUDAdll的框架搭建成功了。
Project
| Build Customizations…菜单,在对话框中选择CUDA
4.0,这会添加对CUDA
C/C++文件(*.cu)
更多内容可参考这篇博客:vs2010
中CUDA 4.0的安装与配置
至此,在没有编辑cuda函数实现文件的情况下可以正常将项目编译成功,则表明基本上将CUDAdll的框架搭建成功了。