win8-64位系统下,VC++2010中设置FFTW时遇到的若干问题及解决办法

时间:2022-04-06 06:21:09

一、出错:LNK2019无法识别的外部符号

如上提到的那样,在我的情况下,出现“LNK2019无法识别的外部符号”这样的报错,主要是因为我在程序中引用了fftw3.h的头文件,但是没有配置对应的FFTW库,下面是我借鉴网上搜到的方法亲身试验成功的一种方法:

1、登陆http://www.fftw.org/install/windows.html,下载 32-bit version: fftw-3.3.4-dll32.zip (2.4MB)​。
2、把fftw-3.3.4-dll32.zip解压到某一文件夹,例如D:\fftw

3、打开VS命令提示(C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat),然后把文件路径定位到D:\fftw。

4、​输入命令:

lib /def:libfftw3-3.def

lib /def:libfftw3f-3.def

lib /def:libfftw3l-3.def

结果,D:\fftw中会生成对应的lib文件:

libfftw3-3.lib

libfftw3f-3.lib

libfftw3l-3.lib

5、在VS2010中,

项目->属性->C/C++->附加包含目录​,加上D:\fftw

​项目->属性->​链接器->常规->附加库目录,加上D:\fftw

项目->属性->链接器->输入->附加​​依赖项,加上libfftw3-3.lib、libfftw3f-3.lib、libfftw3l-3.lib

6、把​D:\fftw中的libfftw3-3.dll、libfftw3f-3.dll、libfftw3l-3.dll

三个dll文件​复制到我的项目文件夹里(有.vcxproj文件的那个文件夹)。

二、出错:Cannot find or open the PDB file

在网上找到了方法,一次就搞定了:​

1、在VS2010中,工具->选项->调试->符号,选择Microsoft符号服务器,选择一个缓存路径,然后确认。

2、编译运行任何一个小程序(可能会有点慢)。

3、在VS2010中,工具->选项->调试->符号,去掉Microsoft符号服务器​,确认。​