VScode+WSL编译PETSC

WIN10安装WSL并使用VScode连接WSL

WSL安装和VScode的配置参考以下链接:
https://blog.csdn.net/weixin_43876113/article/details/105261577

在WSL Ubuntu上编译PETSC

(1) 使用git clone下载petsc安装包

git clone -b release https://gitlab.com/petsc/petsc.git petsc

(2)进入petsc文件夹中,添加环境变量

export PETSC_DIR=安装地址

export PETSC_ARCH=test(PS:这里会自动在petsc文件		夹下新建test文件夹并安装好mpi环境)

若petsc中未出现test文件夹,则可用mkdir test的方式新建test文件夹

(3)进行configure
若未安装过MPI, blas, lapack,则可输入如下指令进行配置:

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack

可通过在./configure后添加其他指令增加PETSC编译的功能,如openmp等,具体可参见PETSC的用户手册

(4)make并指定PETSC的目录

make PETSC_DIR=安装地址 PETSC_ARCH=arch-linux2-c-debug all

(5)通过运行示例测试是否安装成功

make PETSC_DIR=安装地址 PETSC_ARCH=arch-linux2-c-debug check

若一切顺利,最后出现“Completed test examples”,则安装成功
(6)测试例子

cd petsc/src/snes/tutorials
make ex1
mpirun -n 1 ./ex1

出现下图迭代信息代表编译成功
在这里插入图片描述
(7)在.bashrc中添加环境变量
在Ubuntu主目录中输入:

sudo vim .bashrc

在.bashrc添加PETSC的环境变量
在这里插入图片描述
在.bashrc末尾添加以下几行

export PETSC_DIR=/mnt/../petsc(petsc的安装地址)
export PATH=$PETSC_DIR:$PATH
export PETSC_ARCH=test
export PATH=$PETSC_DIR:$PATH

以上,PETSC的安装配置就完全结束了,接下来将介绍如何使用VScode和WSL编译PETSC代码

VScode+WSL编译PETSC代码

以下介绍两种方法使用VScode+WSL编译PETSC代码

编辑.vscode中的.json添加PETSC库目录

  1. 在c_cpp_properties.json添加PETSC库目录
    在c_cpp_properties.json "includePath"中添加库目录

     /mnt/d/../petsc/include, (..为petsc的安装目录)
     /mnt/d/../petsc/test/include, (..为petsc的安装目录)
     /mnt/d/../petsc/test/lib (..为petsc的安装目录)
    

在这里插入图片描述
在c_cpp_properties.json “browse” 添加:

/mnt/../petsc/test/lib(..为petsc的安装目录)

在这里插入图片描述

2.在task.json中添加PETSC专用的编译器目录和库目录
在task.json 将"command":后的内容替换为PETSC的专用编译器(一定要替换,不然会报错)

/mnt/d/Mywork/Library/PETSC/petsc/test/bin/mpicxx (mpicxx为c++编译器)

在这里插入图片描述
在task.json 在"args":添加以下内容:

-I'/mnt/../petsc/include',(..为petsc的安装目录)
-I'/mnt/../petsc/test/include',(..为petsc的安装目录)
-L'/mnt../petsc/test/lib',(..为petsc的安装目录)
-lpetsc,(petsc/test/lib中的petsc.so动态库文件)

在这里插入图片描述
3. 使用断点调试
在这里插入图片描述
设置成功。

使用CMAKE编译项目

  1. 编辑CMakeLists.txt文件

     cmake_minimum_required(VERSION 3.1.0)
     set (CMAKE_CXX_COMPILER "/mnt/../petsc/test/bin/mpicxx") (设置petsc专用编译器)
     project(ex1)
     INCLUDE_DIRECTORIES(/mnt/../petsc/include)(链接petsc库文件)
     INCLUDE_DIRECTORIES(/mnt/../petsc/test/include) (链接petsc库文件)
     LINK_DIRECTORIES(/mnt/../petsc/test/lib)
     add_executable(ex1 ex2.cpp)
     target_link_libraries(ex1 libpetsc.so)
    
  2. 使用cmake调试运行
    cmake的安装可以自行百度一下,在此就不再赘述了。
    点击界面底部的CMAKE:[Debug]选项,生成编译代码所需的文件。
    点击CMAKE:[Debug]选项旁边No active kit 选项选择[Unspecifid]会在编译过程中使用用户自定义的编译器。
    运行Build选项编译代码

在这里插入图片描述
在代码中设置断点,点击运行build旁边的debug按钮,程序会进行调试并在断点处停止。
在这里插入图片描述

以上就是本文的全部内容啦,由于笔者刚开始接触PETSC,上文还有很多不严谨的地方,各位大佬轻喷,感谢大家。

  • 4
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论

打赏作者

qq_37096678

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值