我正在尝试链接某些库以使用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文件的形式提供,但是我不确定如何将要使用的库转换为该格式。
为什么会发生这种情况,并且有一种方法可以解决此问题,以创建一个有效的可执行文件?
正如@jacob在问题注释中指出的那样,dll版本为64位,而编译器(MinGW)默认为32位版本。