首页 > 解决方案 > 使用 MinGW gfortran 编译时在 Windows 上无法识别 DLL

问题描述

我正在尝试链接一些库以使用 Windows 上 MinGW 中的 gfortran 实现来创建可执行文件。我有 .dll 和 .lib 形式的库文件,它们在路径上可用。当我尝试编译我的程序时,我收到如下错误:

libblas.dll: file not recognized: File format not recognized

我的输入如下:

gfortran -O3  -g dependency.o testmain.o -o ../testrun.exe -lblas -llapack

blas 和 lapack 是我要链接的库,它们在路径上以 libblas.dll 和 liblapack.dll 的形式提供。其他库似乎可以作为 *.a 或 *.dll.a 文件使用,但我不确定如何将要使用的库转换为该格式。

为什么会发生这种情况,有没有办法解决这个问题来创建一个工作可执行文件?

标签: dllmingwgfortran

解决方案


正如@jacob 在问题评论中指出的那样,dll 版本是 64 位的,而编译器(MinGW)默认为 32 位版本。


推荐阅读