本文记录在Linux下编译MFEM的过程。零、环境操作系统Ubuntu 22.04.4 LTSVS Code1.92.1Git2.34.1GCC11.4.0CMake3.22.1Boost1.74.0oneAPI2024.2.1一、VS Code下载VS Code然后安装以下插件Task ExplorerOutput ColorizerGit Extension PackGit GraphRemote DevelopementRemote X11Code RunnerC/C Extension PackC TestMateModern FortranFORTRAN InstelliSenseFortran Breakpoint SupportPython Extension PackC# Dev KitExtension Pack for Intel Software Developer ToolsNsight Visual Studio Code Edition二、安装依赖sudo apt-get install build-essential sudo apt-get install cmake二、编译代码下载MFEM源代码git clone https://github.com/mfem/mfem.git按下表完成CMake配置构建项目并完成编译安装CMAKE_INSTALL_PREFIX~/dev/3rdparty/install/gcc-optCMAKE_BUILD_TYPEReleaseMFEM_ENABLE_MINIAPPSON附录I: CMakeUserPresets.json{ version: 4, cmakeMinimumRequired: { major: 3, minor: 20, patch: 0 }, configurePresets: [ { name: default, hidden: true, displayName: Default Config, description: Default build configuration, binaryDir: ${sourceDir}/out/build/${presetName}, cacheVariables: { CMAKE_INSTALL_PREFIX: ${sourceDir}/out/install/${presetName}, CMAKE_BUILD_TYPE: Debug, MFEM_ENABLE_MINIAPPS:ON } }, { name: mingw64, hidden: false, inherits: default, displayName: MinGW-w64, description: This build is using MinGW generator, generator: MinGW Makefiles, cacheVariables: { }, environment: {} }, { name: linux_gcc, hidden: false, inherits: default, displayName: Linux GCC, description: Default build using Unix Makefiles generator, generator: Unix Makefiles, cacheVariables: { CMAKE_C_COMPILER: /usr/bin/gcc, CMAKE_CXX_COMPILER: /usr/bin/g, CMAKE_MAKE_PROGRAM: /usr/bin/make } } ], buildPresets: [ { name: mingw64, displayName: MinGW-w64, configurePreset: mingw64 }, { name: linux_gcc, displayName: Linux GCC, configurePreset: linux_gcc } ], testPresets: [ { name: mingw64, displayName: MinGW-w64, configurePreset: mingw64 }, { name: linux_gcc, displayName: Linux GCC, configurePreset: linux_gcc } ] }附录IIcmake-tools-kits.json[ { name: GCC 13.2.0 x86_64-w64-mingw32 (mingw64), compilers: { C: C:\\msys64\\mingw64\\bin\\gcc.exe, CXX: C:\\msys64\\mingw64\\bin\\g.exe }, isTrusted: true, environmentVariables: { CMT_MINGW_PATH: C:\\msys64\\mingw64\\bin, MSYSTEM: MINGW64, MSYSTEM_PREFIX: /mingw64, PATH: C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;${env:PATH} }, preferredGenerator: { name: MinGW Makefiles } }, { name: GCC 11.4.0 x86_64-linux-gnu, compilers: { C: /usr/bin/gcc, CXX: /usr/bin/g }, isTrusted: true }, { name: Intel(R) oneAPI DPC/C Compiler 2024.2.1, compilers: { C: /opt/intel/oneapi/compiler/2024.2/bin/icx, CXX: /opt/intel/oneapi/compiler/2024.2/bin/icpx }, isTrusted: true } ]文献Anderson R , Andrej J , Barker A ,et al. MFEM: a modular finite element methods library[J]. Pergamon, 2021.网络资料MFEMhttps://mfem.org/