无法打开cufft.lib文件以及无法解析cufft的相关的外部符号的解决方法
2016-08-08 14:10
871 查看
近期在学习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的绝对路径。
本来程序跑得好好的,然后其他人说要升级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的绝对路径。
相关文章推荐
- 解决VS2008 无法解析的外部符号 "int __cdecl _AfxInitManaged(void)“,以及无法打开预编译头Debug\XXX.pch
- 解决VS2008 没法解析的外部符号 "int _cdecl _AfxInitManaged(void)“,以及无法打开预编译头Debug\XXX.pch
- 解决VS2008 没法解析的外部符号 "int _cdecl _AfxInitManaged(void)“,以及无法打开预编译头Debug\XXX.pch
- 解决VS2008 没法解析的外部符号 "int _cdecl _AfxInitManaged(void)“,以及无法打开预编译头Debug\XXX.pch
- 无法解析的外部符号 _ AtlAxGetControl@8 的解决方法
- dcmtk提示无法解析的外部符号(unresolved external symbol)的解决方法
- “error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用”解决方法。
- *.Obj:error LNK2019: 无法解析的外部符号 (解决方法)
- error LNK2019: 无法解析的外部符号(编程解决方法)
- VS2005使用WTL出现 “error LNK2019: 无法解析的外部符号_main”的解决方法
- error LNK2001: 无法解析的外部符号 __imp__htonl@4(编程解决方法)
- 无法解析的外部符号 __emul出错的解决方法
- gSoap的“error LNK2001: 无法解析的外部符号 _namespaces”解决方法
- LNK2001: 无法解析的外部符号 __iob问题的解决方法
- error LNK2019: 无法解析的外部符号 (解决方法)
- gSoap的“error LNK2001: 无法解析的外部符号 _namespaces”解决方法(转)
- error LNK2019: 无法解析的外部符号(编程解决方法)
- error LNK2019: 无法解析的外部符号(编程解决方法)(改)
- error LNK2019: 无法解析的外部符号(编程解决方法)
- 自己测试bolt程序时遇到error LNK2019: 无法解析的外部符号解决方法。