Win10+VsCode+Fortran+LAPACK库的环境配置

        最近想用VScode配置一个Fortran的编译环境,搜索了一遍网上似乎只有关于在VScode平台下配置Fortran的,没有配置在VsCode平台下用Fortran调用LAPACK库的帖子。事先声明:本人不熟悉VsCode。

1. VS Studio + Intel Fortran + LAPACK

        本人原来用VS2019+Intel Fortran编译过LAPACK3.9.1的包生成过libblas.lib,liblapack.lib和liblapacke.lib三个静态库文件,并在VS2019平台下成功运行了调用LAPACK库的Fortran代码,关于VS Studio+ Intel Fortran + LAPACK的配置可以参照lapack官网中Easy Windows Build部分(Easy Windows Build)以及国内的这篇介绍VS +Intel Fortran + LAPACK,相关软件的安装可参照网上其他教程进行。  除了自己编译生成库文件外,还可以用lapack官网编译好的库文件,具体配置可参照这篇文章VS+Intel Fortran+Lapack官网编译好的库文件

2. VsCode + Gfortran + LAPACK

        由于VS Studio过于臃肿,安装一个太占空间,功能远大于需求,所以便转向VsCode。VsCode体积小但并未集成一个完整的IDE环境,需要略微繁琐的配置,下面进入正文。

1)VsCode + Fortran的环境配置        

 VsCode + Fortran的配置可以参考这篇文章:Windows环境下VsCode+Fortran配置

补充:VsCode有user install和system install两个版本,区别在于只有system install版本在安装的时候可以右键管理员运行安装;

        MinGw-w64直接下载8.1.0版本的x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z压缩包即可,如下图。online install.exe有时候会安装不上。这个版本的压缩包缺少libgcc_s_seh_64-1.dll和libgfortran_64-3.dll两个动态库文件。这两个库文件可自主网上搜寻,也可通过FileFinder软件下载,两个库文件下载libgcc&libgfortran和FileFinder下载FileFinder。 MingGw-w64下载地址:mingw-w64 8.1.0版本下载地址 ,MinGw-w64的文件夹可以放在系统盘外的其他盘,只需要将bin文件夹添加进系统变量。

2)LAPACK库配置

LAPACK库文件获取:可通过VS Studio编译生成最新版本的库文件,我推荐直接下载LAPACK官网编译好的库文件。官网下载地址:LAPACK3.7.0库文件下载,注意要下载的文件包括动态库文件3个(.dll)、静态库文件3个(.lib)和头文件4个(.h)三部分,如下图

 在存放源码的目录下新建存放LAPACK库的文件夹,再在LAPACK库文件夹下分别新建Include文件夹存放4个头文件(.h)和Lib文件夹存放3个静态库文件(.lib)和4个动态库文件(.dll),如图

 

复制下载的三个动态库文件(libblas.dll、liblapack.dll、liblapacke.dll)和libgcc_s_seh_64-1.dll、libgfortran_64-3.dll总共五个动态库文件到MinGw-w64的bin文件夹下,如图

修改tasks.json文件,将下图中-L和-I后面的路径分别替换为自己下载存放的LAPACK库的库文件和头文件路径,即上文加粗的那两个文件夹的地址。

在VsCode中,按下ctrl + shift + P ,输入Reload  Window,重启Vscode,环境配置完毕。

测试代码来自这篇博客VS +Intel Fortran + LAPACK

program test_sgesv
    implicit none
    real :: a(3,3),b(3)
    character :: c
    integer :: v(3),iflag
    external sgesv
    a = reshape([2.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,4.0],[3,3])
    b = [998.0,999.0,1000.0]
    print *,'a = ',a
    print *,'b = ',b
    call sgesv(3,1,a,3,v,b,3,iflag)
    print *,'solve=',b
    read (*,*) c
end program test_sgesv

结果

 注意:

        1.如果代码源文件较多的话,最好拷贝一份.vscode文件夹到代码源文件目录下,直接打开代码源文件所在目录运行程序,防止编译器找不到.mod文件。如下图

        2.gfortran编译代码需提前分配变量的内存空间,否则会出现Segmentation Fault的错误。

        3.按上述过程配置环境一定不要出现中文路径,配置后如果出现exit with code=2问题,一种可能就是源码中的变量没有分配好内存空间。

### 配置 VSCode 支持 CUDA 和 Fortran 开发 #### 安装 Visual Studio 及 MSVC 编译器 为了在 Windows 上编写 CUDA 代码,需使用 MSVC 编译器。建议安装 Visual Studio 2019 版本,因为更高版本可能会遇到兼容性问题[^2]。 #### 安装 CUDA 工具包 按照推荐的安装顺序,在成功安装 Visual Studio 后再继续安装 CUDA 驱动程序和工具包,这有助于规避潜在的问题。 #### 设置 VSCode 扩展 对于 CUDA 和 Fortran 的开发环境配置: - **CUDA**:可以通过安装 `C/C++` 扩展来获得基本的支持,并通过特定于 NVIDIA 的扩展进一步增强 CUDA 功能。 - **Fortran**:可利用 `fortran-language-support` 或其他社区维护的相关扩展提供语法高亮和其他编辑辅助特性。 #### 配置编译任务 创建或修改 `.vscode/tasks.json` 文件以定义用于构建项目的任务。针对 Fortran 和 CUDA 项目,可能需要指定不同的编译命令及其参数。例如,下面展示了如何为 gfortran 添加一个简单的编译任务配置: ```json { "version": "2.0.0", "tasks": [ { "label": "build_fortran", "type": "shell", "command": "gfortran", "args": [ "-o", "${workspaceFolder}/bin/myprogram.exe", "${file}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "compiler launched by build task" } ] } ``` 同样地,也可以为 nvcc (NVIDIA CUDA Compiler) 创建相应的编译任务条目。 #### 调整 CMakeLists.txt(如果适用) 当采用 CMake 构建系统时,确保 `CMakeLists.txt` 正确指定了目标架构以及其他必要的编译选项。比如,对于某些 GCC 编译场景下的通用优化设置可以参考如下形式[^3]: ```cmake set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -v -E -mtune=generic -march=x86-64") ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值