Geant4的安装
最近本人在安装Geant4时遇到了一些坑,这里将安装过程记录下来。
1. 安装CMake,Visual Studio,Qt
这里本人安装的版本如下。
- CMake: 3.31.0
- Visual Studio: 2022(Community)
- Qt: 5.15.2
这三个软件的安装过程比较简单,这里不展开讨论。网上相关的教程比较多,可以自行搜索,另外也可以查阅博主往期文章 1 。
2. 下载 Geant4源码和数据包
进入Geant4官网下载页,选择以下内容下载。

3. 用CMake生成VS工程
3.1 准备工作目录
首先,解压Geant4源码压缩包到指定的工作目录下,并且创建工程文件夹和安装文件夹。

3.2 设置路径和VS版本
设置源码路径和工程路径,点击Configure,设置VS版本。

点击Finish后,环境列表更新,便可以修改安装路径,再点击一次Configure。

3.3 编辑QT环境变量
如果QT环境变量没有找到,可能会弹出警告对话框。

这时候,需要在CMake中按以下步骤添加环境变量。

后续每次Configure后出现的NOTFOUND警告,都是按照这种步骤添加,直到不出现红色警告。

3.4 解压Geant4数据包
CMake在生成工程的日志中,可能会出现以下警告。

此时,在安装目录下创建路径"share/Geant4/data",将下载好的Geant4数据包,解压到该路径下,再点击Configure,警告消除。

完成上述配置后,点击Generate,便在工程目录下生成了Geant4.sln的VS工程。

4. 用VS工程生成Geant4库
4.1 打开Geant4的VS工程
如果上述配置中,安装目录设置在C盘,那么需要用管理员权限打开VS工程,不然安装过程可能会因为权限问题无法写入文件。
这里的生成配置建议选择Release模式,Debug模式下依赖的库会超出65535,从而报"Link1189: 超过65536 对象的库限制"的错误,目前本人还没有发现解决办法,有办法的朋友可以在评论区留言相告,在此表示感谢。
4.2 修改VS的项目属性
将G4名称开头的所有工程选中,进入属性页,开启多处理器编译。

4.3 生成库
右键选中ALL_BUILD,开始生成,该过程耗时较长,需要等待片刻。

生成完成后,右键选中INSTALL,VS会将生成的库及依赖库整理放到安装目录下。

至此,Geant4库安装完成。
5. 测试环境
上述安装过程中,VS会将Geant4自带的例子拷贝到安装目录下,我们可以用其中的例子B1进行测试。

5.1 生成exampleB1应用程序
打开CMake,设置B1工程的路径,过程与第3节类似,最终配置完成后的环境如下。

然后Generate得到B1的VS工程B1.sln,用该工程直接在Release配置下生成可执行文件exampleB1.exe。
5.2 配置运行环境
5.2.1 创建工作目录
指定或创建一个空文件夹,作为工作测试目录。将生成的exampleB1.exe与init_vis.mac,vis.mac文件拷贝到工作目录下。
5.2.2 设置Geant4环境
我们可以筛选B1程序依赖的dll库,拷贝到工作目录下作为Geant4的工作环境,但这个筛选过程比较繁琐。这里我们不采用这个方案,而是直接在系统里设置环境变量。

5.2.3 设置Qt环境
我们可以添加Qt环境(例如:C:\Qt\5.15.2\msvc2019_64\bin)到系统路径里,但测试时会出现多个弹窗报错。

很明显,这些错误是由Qt引起的,大概率是因为Qt环境不完善或者库不兼容。稳妥的解决办法是不修改环境变量,而是将Qt环境中的库筛选放到工作目录下。首先将报错的G4库挑选出来,用Qt命令行在空文件夹中进行打包(windeployqt + 库名),这样筛选出来的Qt库,然后再放进工作目录中,最终工作目录下包含的库如下。

5.3 运行演示
完成上述配置后,双击运行exampleB1.exe,得到如下界面。

此时测试环境成功,说明Geant4安装顺利。

359

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



