无法打开cufft.lib文件以及无法解析cufft的相关的外部符号的解决方法

        近期在学习CUDA做GPU程序的开发,环境是VS2013 + CUDA6.5,在写程序的过程当中总是出现匪夷所思的错误,让我一直觉得自己的环境没有配好。

       本来程序跑得好好的,然后其他人说要升级CUDA的版本,那就直接下载CUDA7.5进行新版本的覆盖,重新定义项目的自定义依赖项,没想到就出现了一堆错误:

error LNK2001: 无法解析的外部符号 _cufftPlanMany@44
error LNK2001: 无法解析的外部符号 _cufftExecR2C@12
error LNK2001: 无法解析的外部符号 _cufftExecC2R@12
error LNK2001: 无法解析的外部符号 _cufftDestroy@4

后来发现,是因为升级了CUDA的版本,CUDA中的cufft.lib只出现在了64位的版本中,需要将配置管理器中的Win32改为X64再跑,然后又出现了别的错误:

error LNK2001: 无法解析的外部符号 __imp_fftw_execute
error LNK2001: 无法解析的外部符号 __imp_fftw_plan_dft_r2c_2d
error LNK2001: 无法解析的外部符号 __imp_fftw_plan_dft_c2r_2d
error LNK2001: 无法解析的外部符号 __imp_fftw_destroy_plan
error LNK2001: 无法解析的外部符号 __imp_fftw_malloc
error LNK2001: 无法解析的外部符号 __imp_fftw_free

用fftw库的地方报错了,原来是因为原来的程序里面加进去的fftw库是32位的,把平台换成x64之后不兼容,所以报错。

       升级要多多注意依赖的库的版本,很容易不兼容,解决办法是将原来32位的fftw库换成64位,或者注释掉用到了fftw库的代码。


另外,发现忘了写无法打开cufft.lib文件的解决办法,其实就是在项目->属性->链接器->输入的第一行加上去cufft.lib就可以了,如果还没有找到的话可以在项目属性的附加库目录指定cufft.lib的绝对路径。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值