本文转自(复制,黏贴)“老橘皮的马甲的博客”,作者写的很简单清楚,但很有用。注意64位的系统也可能需药32位的FFTW.
博士学长发给我一个C++源文件及头文件fftw3.h,让我在代码上修改。奈何我只学过一些C,更没有用过VS2010。于是我打算先在VS2010上把现成的这个C++程序给运行起来。新建项目、添加源文件和头文件的现有项atompot.cpp、fftw3.h、编译、运行。编译成功,但是运行后马上报错,LNK2019无法识别的外部符号!!!
通过无数次的百度,我了解到,出现“LNK2019无法识别的外部符号”这样的报错,主要是因为我在程序中引用了fftw3.h的头文件,但是没有配置对应的FFTW库。

下面,我就把自己在运行C++程序过程中(主要是配置FFTW库的问题)遇到的各种问题及解决办法一一列出。​

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

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

1、登陆http://www.fftw.org/install/windows.html,下载 32-bit version: fftw-3.3.4-dll32.zip (2.4MB)​。

注意:我是win7-64位的,还是要下32-bit version!!!不要问我为什么,我之前自以为是下了64-bit,结果程序运行还是出错,走投无路下了32-bit,倒是好了。血的教训!
2、把fftw-3.3.4-dll32.zip解压到某一文件夹,例如D:\fftw

3、打开VS命令提示(开始->Microsoft Visual studio 2010->Visual studio Tools->Visual Studio 命令提示(2010)),然后把文件路径定位到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文件的那个文件夹)。

注意:这一步至关重要,我之前用测试程序尝试了一下成功了,但是换到现有的程序时,因为忘记复制dll文件,导致运行又出错了。​

7、附上fftw测试程序(网上搜的)

include “fftw3.h”

int main()
{

     fftw_complex *in, *out;fftw_plan p;int N= 8;int i;int j;in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);for( i=0; i < N; i++){in[i][0] = 1.0;in[i][1] = 0.0;printf("%6.2f ",in[i][0]);}printf("\n");p=fftw_plan_dft_1d(N,in,out, FFTW_FORWARD, FFTW_ESTIMATE);fftw_execute(p);for(j = 0;j < N;j++){printf("%6.2f ",out[j][0]);}printf("\n");fftw_destroy_plan(p);fftw_free(in);fftw_free(out);return 0;}

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

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

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

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

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

三、运行时,控制台一闪而逝,输出窗口显示“ *.exe 本机已退出,返回值0”

原谅我如此小白的问题,但我是真的不懂,网上查了才知道,原来我把“运行”点成了“编译”,用Ctrl+F5或是调试->开始执行,问题解决!​

四、应用程序无法正常启动(0xc000007b) ​

网上和我有类似情况的,说得很好。主要是libfftw3-3.dll、libfftw3f-3.dll、libfftw3l-3.dll三个dll文件,首先得是32位的,然后得把它们复制到你的项目文件夹下(有.vcxproj文件的那个文件夹)。

从最初什么都不懂又做不出来的绝望,到现在还是什么都不懂但是已经把程序运行出来的轻松,最想感谢百度,感谢论坛、博客,以及知道上的各路精英,而且强烈觉得一定要把自己这段艰难的过程记录下来,当然,更主要是把自己的经验分享出来,吼吼!

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

  1. win7 64计算机图标如何设置,Win7 64位系统下如何自定义更改磁盘图标【图文】

    每次打开计算机后看到的磁盘都是一样的图标大家应该也有点腻了吧,其实我们可以通过自定义更改磁盘图标的方法来让本地磁盘更新颖,那么在win7 64位系统下如何更改呢?方法也是很简单的,下面跟随小编来学习一 ...

  2. win7 64位系统下bugfree安装教程及排坑提示

    win7 64位系统下bugfree安装教程 准备工作 xampp-win32-5.6.38-0-VC11-installer bugfree_v3.0.1 排坑提示: 切记不要直接点页面上XAMPP ...

  3. win7 64位系统下 Logitech(罗技) M555b蓝牙鼠标断线解决办法

    笔者的笔记本电脑是ThinkPad T420.用Logitech(罗技) M555b鼠标已经有一年多的时间了,不过之前一直是在win7 32位系统下使用的,用了能有一年多的时间,一直很稳定,没有出现过 ...

  4. Win7 64位系统下思维导图XMind的Java环境配置

    一.前言 前段时间一直忙实验室的项目,很难有闲心闲情来写.正好最近电脑系统还原,开发环境都要重新配置,那就写写,慢慢积累吧. 二.软件资源 XMInd是我一直在用的思维导图软件,好处多多,下载链接见下 ...

  5. python封装成exe win7不能用_如何在win7 64位系统下用pyinstaller打包python代码成exe

    添加网络打印机步骤 1.安装.使用PyInstaller需要安装PyWin32. 下载与Python对应的PyInstaller版本 抄 , 解压后就算安装好了 . 2.生成exe文件.Python程 ...

  6. win7 64位连接oracle11g,win7 64位系统下使用32位PLSQL连接64位Oracle 11g

    前提条件:已安装Oracle 11g 已安装32位PLSQL 需下载:instantclient-basic-win32-10.2.0.5(官网有,当然你也可以下载其他版本的) 一:将instantc ...

  7. WIN7 64位系统下,右下角的声音和电源图标不见的解决办法

    近日,电脑突然出现任务栏右下角的声音和电源图标消失不见的问题,重启仍旧没有修复,后来找到了解决办法 解决办法: 1.Ctrl+Shift+Esc键调出windows资源管理器. 2.找到进程中的exp ...

  8. win7 64位系统 PB连接oracle数据库出现问题的解决方法

    今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过"oracle library oci.d ...

  9. Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1)

    原文:Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1) 首先感谢: http://blog.csdn.net/shuilan0066/article/detai ...

最新文章

  1. 蔡徐坤真的那么火吗?用Python爬一爬蔡徐坤的真假流量粉!
  2. DATE_FORMAT(date,format)
  3. “星斗奖”九大类奖项揭晓:好未来、四川航空,瑞幸咖啡杨飞、中青旅张晓磊等入选...
  4. centos安装与配置R语言
  5. 没有数学天赋是一种什么体验?
  6. pythonqt4上位机开发_「新阁教育」自由口通信上位机实战案例
  7. uboot源码——汇编阶段的start.S文件
  8. 【算法分析与设计】埃氏筛素数算法
  9. 模拟退火与遗传与蚁群算法
  10. 冰城环保进入智慧时代
  11. HackTheBox::Blunder
  12. SUCCEEDED 和 FAILED的作用和用法
  13. Windows操作系统进阶:防火墙基础和Windows Defender
  14. ASP.NET2005各类教程实例1[视频下载]
  15. 《回炉重造》——泛型
  16. win10设备管理没有android,win10电脑不能识别安卓设备怎么解决?
  17. 总体设计和数据库设计
  18. BIBTeX制作参考文献 [转]
  19. Android入门教程(八)
  20. java顺序查找法 监视器_java算法:顺序查找(有监视哨和无监视哨)

热门文章

  1. syswow64删除文件_syswow64,小编教你syswow64是什么文件夹
  2. Linux 命令行鼠标垫,送10个!
  3. 索爱多功能广场舞蓝牙音箱怎么样啊?
  4. IPython使用技巧
  5. access中如何画斜线_设计斜线表头
  6. nwjs视频无法播放
  7. Eclipse中Tomcat 修改后台代码即时生效
  8. 第2课【CMSIS和标准库开发】标准库 CMSIS 分层
  9. 伽马函数解决积分问题
  10. 字长、字节、字、字位的区别