dll - 使用 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 文件使用,但我不确定如何将要使用的库转换为该格式。
为什么会发生这种情况,有没有办法解决这个问题来创建一个工作可执行文件?
解决方案
正如@jacob 在问题评论中指出的那样,dll 版本是 64 位的,而编译器(MinGW)默认为 32 位版本。
推荐阅读
- sql - 如何显示两个相反表的数据?
- rust - 为什么没有尾随分号的 match 语句会导致错误?
- excel - 将文本文件解析为列的选项
- .net-core - Advantage Database Server v11.1.30 .Net Data Provider 是否与 Visual Studio 2019 兼容?
- c# - 未标记为已修改的字段正在使用 entityframeworkcore 中的 Attach 方法进行更新
- ios - NativeScript 与 MicrosoftCognitiveServicesSpeech.framework
- javascript - 添加一行作为创建的表的标题,以将 CSV 转换为 HTML 表
- java - 修复 java.lang.NullPointerException
- android - 如何将数据从片段传递到视图寻呼机内的另一个片段?
- python-3.x - 有没有更快的方法来使用高斯函数计算同一矩阵中元素之间的距离?