1. 下载Geant4 source code Download Geant4-11.4.2 - Geant4
2. 安装wsl2 + ubuntu 20.04 下载与安装How to Install WSL2 on Windows 11 (Windows Subsystem for Linux) (2026)
ps. 注意CPU开启虚拟化(BIOS中设置),Linux设置中将网络设置为镜像
3. 新建用户,设置密码
4. 安装 gcc / g++ / cmake / git 等依赖
sudo apt update
sudo apt install build-essential cmake git
sudo apt install -y libexpat1-dev
sudo apt unzip
5. 解压缩与编译Building and Installing from Source — Geant4 Installation Guide 11.2 documentation
mkdir -p ~/geant4
cp /path/to/geant4-v11.4.2.zip ~/geant4/
cd ~/geant4
unzip geant4-v11.4.2.zip
rm ~/geant4/geant4-v11.4.2.zip
mkdir -p ~/geant4/geant4-v11.4.2-build
mkdir -p ~/geant4/geant4-v11.4.2-install
cmake -DGEANT4_INSTALL_DATA=ON -DCMAKE_INSTALL_PREFIX=../geant4-v11.4.2-install ../geant4-v11.4.2
cd ~/geant4/geant4-v11.4.2-build
make -j12
make install
6. 环境配置,在~/.bashrc中写入
source ~/geant4/geant4-v11.4.2-install/bin/geant4.sh
检查 geant4-config --version
8. 安装Qt等可视化
sudo apt install -y qt6-base-dev libxerces-c-dev libxmu-dev libxkbcommon-dev cmake-curses-gui
ccmake ~/geant4/geant4-v11.4.2
打开GEANT4_USE_QT,GEANT4_USE_OPENGL_X11,GEANT4_USE_GDML,以及GEANT4_USE_RAYTRACER_X11,GEANT4_USE_SYSTEM_EXPAT
然后重新编译一下
cd ~/geant4/geant4-v11.4.2-build
make -j12
make install
9. 编译案例
cd ~/geant4/geant4-v11.4.2/examples/basic/B1
mkdir -p build
cd build
cmake ..
make -j12
MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA ./exampleB1
注意一定要检查一下自己笔记本/电脑有几张显卡(是不是集显+独显),使用glxinfo -B看一下用的是哪一张。如果用的Intel集成显卡可能会出现Geant4可视化崩溃,也就是D3D12: Removing Device. Segmentation fault (core dumped)。
将export MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA 写进~/.bashrc中然后source ~/.bashrc。再运行./exampleB1看看可不可以了。
10. WSL下使用VS Code
mkdir -p myprojects
cd ~/myprojects
mkdir -p test1
cd test1
mkdir -p include src macros build
touch CMakeLists.txt test1.cc
touch include/DetectorConstruction.hh
touch src/DetectorConstruction.cc
code .
注意在VS Code的extension在Windows本地和wsl2中是分开管理的,所以要在wsl2中重新下载相应的扩展(c/c++扩展)。然后ctrl+shift+p搜索c/c++: edit configurations (json),.vscode/c_cpp_properties.json 的 includePath 中加入"/path/to/geant4/geant4-v11.4.2-install/include/Geant4"。
这样IntelliSense就能够找到Geant4的头文件,从而支持代码补全、错误提示和跳转到定义。
2026.8.13

246

被折叠的 条评论
为什么被折叠?



