AlmaLinux 8使用Makefile重编译时提示找不到-lgfortran的问题
编译报错
cannot find -lgfortran的解决思路 1. 验证libgfortran库的存在性
执行以下命令查找系统中的libgfortran库文件:
find /usr/lib64 -name libgfortran.so*
若无返回结果,说明系统缺少链接所需的库文件。
2. 安装libgfortran开发依赖包
AlmaLinux 8中,gfortran的运行时库和开发库是分离的,安装开发包以获取链接所需的符号链接:
sudo dnf install libgfortran-devel
安装完成后重新执行编译。
3. 检查Makefile的链接配置
如果库文件已存在仍报错,检查Makefile中的链接参数:
- 确认
LDFLAGS是否包含库所在路径(若库不在标准路径,需添加-L/path/to/lib) - 确保
-lgfortran参数放在依赖它的目标文件之后(链接器按顺序解析依赖)
4. 核对库与程序的架构匹配
若程序为32位架构,需安装32位版本的libgfortran库:
sudo dnf install libgfortran.i686 libgfortran-devel.i686
可通过file命令检查目标文件的架构:
file [你的目标文件名].o
内容的提问来源于stack exchange,提问作者McFlyguy
相关产品推荐
相关产品推荐

