Windows环境下mingw位数和dll位数不匹配造成的编译错误

最近做一个项目用到了fftw这个库,今天在编译项目时遇到如下问题:

makefile里的编译指令是:

$(cd_src) && gcc $(fftwrap).c $(mat_path) libfftw3-3.dll libfftw3f-3.dll libfftw3l-3.dll -o "..\bin\$(fftwrap)" && "..\bin\$(fftwrap).exe"

也就是说编译器识别不了这个dll文件。

通过溯源,发现使用的这个fftw库全名是fftw-3.3.3-dll64,因此这是一个64位的动态库。

联想到上次编译成功是在另一台计算机,遂查看当前计算机和另一台计算机的mingw,果然当前计算机上安装的是32位的mingw。

将另一台计算机上64位的mingw拷过来,改一下环境变量,编译通过。

posted @ 2020-11-04 15:49  leauky  阅读(213)  评论(0编辑  收藏  举报