1.官网下载http://geant4.web.cern.ch/support/download
Geant4的预编译库,
可以下载zip或者二进制文件,都是已经按照默认设置和最优化配置编译好了的源代码,我下载的zip ,不需要安装,二进制的可执行文件需要安装。
2. 同时需要下载DATA,截面库文件:
把data文件解压到Geant4下面的文件夹,我是放在share/Geant4-10.6.1/data下面
3.!!!!然后非常重要的一步设要设置截面库的环境变量,否则后面编译好的程序无法找到对应的截面库数据文件。
新建一个set4G4DataEnv.bat环境变量文件,我是放在data目录下面,放哪里关系不大,关键是文件里面内容设置,因为我的data放在share下面,所以内容如下:
setx G4ABLADATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4ABLA3.1
setx G4LEDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4EMLOW7.9.1
setx G4NEUTRONHPDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4NDL4.6
setx G4PARTICLEXSDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4PARTICLEXS2.1
setx G4PIIDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4PII1.3
setx G4SAIDXSDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4SAIDDATA2.0
setx G4LEVELGAMMADATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\PhotonEvaporation5.5
setx G4RADIOACTIVEDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\RadioactiveDecay5.4
setx G4REALSURFACEDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\RealSurface2.1.1
setx G4INCLDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4INCL1.0
setx G4ENSDFSTATEDATA D:\Geant4\WIN32-VC163-10\Geant4-10.6.1-Windows\share\Geant4-10.6.1\data\G4ENSDFSTATE2.2
目的是设置好data的环境变量。
保存好文件,运行set4G4DataEnv.bat, 会提示是否允许设置环境变量。点击允许程序操作,环境变量设置成功。
4.接下来就是cmake
因为GEANT4官网说明了不同版本对Cmake版本,Visual studio 编译器版本的要求。因此我下载了cmake3.17.0, Vstudio 2019.
打开cmake运行例子。这个时候你会发现下载的预编译库里面没有Geant4的example,没事,可以再下载Geant4 源代码,里面有example文件。
找到example里面basic文件夹下面B1、B2……文件,就是例子。
为了cmake时,源程序和编译后的程序能分开,我在Geant4目录下建立了git4work目录,并将B2源代码文件和camkelists等文件拷贝到G4work目录下面
D:/Geant4/WIN32-VC163-10/Geant4-10.6.1-Windows/G4work/B2
在B2同级目录建立B2_build用于存放编译后的库
D:/Geant4/WIN32-VC163-10/Geant4-10.6.1-Windows/G4work/B2_build
然后configure运行,再点击generate. configure时会提示你使用本地VStudio 2019的编译器
4. Vstudio 2019 编译
完成cmake后,B2_build下面 生成了对应Vstudio 的工程文件project.sln
点击该文件,用VS2019打开, 选择release版本,生成install
此时,在B2_build的文件下生成了B2a和B2b,里面release下可见exe可执行文件。
再将 B2a下面的vis.mac和init_vis.mac拷贝到exe同级目录。
6. 运行exe,成功
注意,可能有另外一种成功修改截面库环境变量的方法。
在geant4的bin目录下面有geant4.sh和geant.csh 的Bshell 和Cshell脚本,他们是设置环境变量的。也许将改sh文件放在exe文件一起就能成功运行。打开sh文件,里面可见环境变量设置: