You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL Ubuntu中LAPACK库存在但gfortran编译提示找不到的问题

问题原因
  • 你当前使用的是Windows终端(PowerShell/CMD),调用的gfortran.exe是Windows版本的编译器,而非WSL Ubuntu内的Linux版gfortran。
  • Windows系统无法直接识别WSL的Linux文件路径(如/usr/local/lib),该路径对Windows环境完全不存在,因此编译器提示找不到库文件。
  • 此前编译普通Fortran文件正常,是因为源文件存储在Windows文件系统中,Windows版gfortran可直接访问;但WSL内的liblapack.a是Linux格式的静态库,即便路径能识别,Windows编译器也无法兼容使用。
解决方法

方法一:使用WSL终端编译(推荐)

  • 在VS Code的终端面板中,切换到WSL Ubuntu终端(可通过终端顶部的下拉菜单选择,或右下角状态栏切换WSL环境后新建终端)。
  • 切换到Fortran文件所在的Windows目录对应的WSL路径:Windows下的C:\Users\minhh\Fortran\wk在WSL中对应/mnt/c/Users/minhh/Fortran/wk,执行命令:
    cd /mnt/c/Users/minhh/Fortran/wk
    
  • 用WSL内的gfortran编译,可直接使用Linux路径调用库文件:
    gfortran testlapack.f90 /usr/local/lib/liblapack.a -o test
    
    更规范的写法是用-L指定库目录、-l指定库名(编译器会自动匹配liblapack.a):
    gfortran testlapack.f90 -L/usr/local/lib -llapack -o test
    

方法二:在Windows环境安装兼容的LAPACK库(按需选择)

  • 若需继续使用Windows版gfortran,需安装Windows平台兼容的LAPACK库(比如通过MinGW-w64的包管理器下载,或获取预编译的Windows静态库)。
  • 编译时指定Windows系统下的库文件路径,例如库文件位于C:\mingw64\lib\liblapack.a,则执行:
    gfortran testlapack.f90 C:\mingw64\lib\liblapack.a -o test
    

内容的提问来源于stack exchange,提问作者taolao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:19:57