Linux编译安装Netgen/NGSolve

embedded/2025/1/22 22:21:47/

本文记录Linux下编译安装Netgen/NGSolve的流程。

零、环境

操作系统Ubuntu 22.04.4 LTS
VS Code1.92.1
Git2.34.1
GCC11.4.0
CMake3.22.1
oneAPI2024.2.1

一、安装依赖

1.1 VS Code

下载并安装VS Code,然后安装以下插件,

Task Explorer

Output Colorizer

Git Extension Pack

Git Graph

Remote Developement

Remote X11

Code Runner

C/C++ Extension Pack

C++ TestMate

Modern Fortran

FORTRAN InstelliSense

Fortran Breakpoint Support

Python Extension Pack
C# Dev Kit

Extension Pack for Intel Software Developer Tools

Nsight Visual Studio Code Edition

二、编译安装

2.1 下载源码

git clone https://github.com/NGSolve/ngsolve.git
cd ./ngsolve
git submodule update --init external_dependencies/netgen

附录I: CMakeUserPresets.json

{"version": 4,"configurePresets": [{"name": "linux_default","hidden": true,"displayName": "Default Linux Config","description": "Default build using Unix Makefiles generator","generator": "Unix Makefiles","binaryDir": "${sourceDir}/out/build/${presetName}","cacheVariables": {"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}","CMAKE_BUILD_TYPE": "Debug"}},{"name": "linux_gcc","inherits": "linux_default","displayName": "linux_gcc","description": "Using compilers: C = /usr/bin/gcc, CXX = /usr/bin/g++","cacheVariables": {"CMAKE_C_COMPILER": "/usr/bin/gcc","CMAKE_CXX_COMPILER": "/usr/bin/g++","CMAKE_MAKE_PROGRAM": "/usr/bin/make","MKL_INTERFACE": "lp64"},"environment": {}}],"buildPresets": [{"name": "linux_gcc","displayName": "linux_gcc","description": "Using compilers: C = /usr/bin/gcc, CXX = /usr/bin/g++","configurePreset": "linux_gcc"}]
}

附录II: cmake-tools-kits.json

[{"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}
]

网络资料

Netgen/NGSolvehttps://ngsolve.org/


http://www.ppmy.cn/embedded/156167.html

相关文章

【JSqlParser】Java使用JSqlParser解析SQL语句总结

简述 Java解析SQL语句有很多工具都可以做到,比如Mybatis、Druid、目前用来用去最全面的仍然是Jsqlparser,它是一个Github上的开源项目,JSqlParser是一个用于解析SQL语句的Java库,它可以帮助开发者分析和操作SQL语句的结构。无论是…

mac 安装mongodb

本文分享2种mac本地安装mongodb的方法,一种是通过homebrew安装,一种是通过tar包安装 homebrew安装 brew tap mongodb/brew brew upate brew install mongodb-community8.0tar包安装 安装mongodb 1.下载mongodb社区版的tar包 mongdb tar包下载地址 2…

JDK长期支持版本(LTS)

https://blogs.oracle.com/java/post/the-arrival-of-java-23 jdk长期支持版本(LTS):JDK 8、11、17、21:

【联想正式迈入机器人智能制造领域:生产下线六足机器人 全自研】

*1月17日消息,联想集团发文表示, 近日联想集团合肥产业基地下线了一只六足机器人——联想晨星足式机器人IS。 本文引用地址:https://www.eepw.com.cn/article/202501/466441.htm 联想晨星足式机器人系列由联想集团自主研发,伴随它…

STM32-串口-UART-Asynchronous

一,发送数据 #include "stdio.h" uint8_t hello[]"Hello,blocking\r\n"; HAL_UART_Transmit(&huart1,hello,sizeof(hello),500); 二,MicroLIB-printf(" hello\r\n") #include "stdio.h" #ifdef __GNUC…

【数据结构】第三章:栈和队列

本篇笔记课程来源:王道计算机考研 数据结构 【数据结构】第三章:栈和队列 一、栈1. 栈的定义2. 栈的基本操作 二、顺序栈1. 顺序栈的实现2. 顺序栈的基本操作3. 两种实现方式对比3. 共享栈 三、链栈1. 链栈的实现2. 链栈的基本操作 四、队列1. 队列的定义…

【MySQL】数据库基础知识

欢迎拜访:雾里看山-CSDN博客 本篇主题:【MySQL】数据库基础知识 发布时间:2025.1.21 隶属专栏:MySQL 目录 什么是数据库为什么要有数据库数据库的概念 主流数据库mysql的安装mysql登录使用一下mysql显示数据库内容创建一个数据库创…

如何在亚马逊云科技上消除无服务器网页应用冷启动时间(下篇)

背景 我们在云端搭建无服务器(serverless)开发架构时,经常会被冷启动(cold start)带来的应用延迟所困扰。冷启动是指当无服务器资源在一段时间内未被调用,或需要扩展以处理新请求时,系统需要初…