本物理专业小硕,现在材料实验室工作,研究方向大概是核屏蔽材料的软件模拟吧。其实实验室里大多数师兄弟都是搞焊接的,平时能接触到这类直接给源码自己编译的软件的机会基本为零,所以一切都靠自己探索,成功搭建了Geant4平台在Win7环境下之后,把安装经历分享出来,供大家参考。另:本文特别感谢新浪“走走看看”大佬的博文@http://blog.sina.com.cn/morpheusndpat。接下来就是具体了:
之前在Ubuntu的平台下搭建过Geant4,但因为当时刚刚接触,所以大多都还是一知半解,这次不小心丢了虚拟机,着忙间赶任务,反而学会了不少。首先,相比大多数童鞋用Geant4都会用到可视化和数据分析功能,就像主机需要显示器跟键盘搭配一样。因此,本文选择CERN ROOT和Qt分别作为数据分析和可视化部件。第一步,当然还是根据自己的OS选择相应的工作软件了。本文用到的OS是Win7 64位操作系统,别小看这64位,好多软件版本是没有windows 64位滴,同样用64位系统的童鞋可以根据本文的推荐选择软件版本。
第一:Geant4的版本选择了写作时最新的geant4_10_05_p01,下载地址po在这里http://geant4.web.cern.ch/support/download,同时,童鞋们也要把下载列表下面所列的Data files悉数下载下来,先保存在另外的地方。不过为了保证安装平台的系统性,建议新建文件夹“Geant4”,在文件夹下再用两个文件夹一个放源文件,一个放库文件。
第二:整个平台需要一款编译器,因此,推荐微软的宇宙第一IDE visual studio,UP这里选择的版本是VS2019,这软件对于开源开发者来说完全免费,请放心食用。https://visualstudio.microsoft.com/zh-hans/vs/安装过程友好,只需下一步即可完成。之后所用到的ROOT和Qt均与这IDE相关。
第三:选择CERN ROOT下载版本,这东西是最好安装的,只需要把地址放在这里就好https://root.cern.ch/downloading-root,这里选择的版本建议越新越好,本文所用的版本是root_v6.18.02.win32.vc16.exe,正如童鞋们看到,上面标注win32,但经测试,64位OS可用,这也是这玩意儿之所以好安装的原因之一。安装过程也极为方便,下一步大法。
第四:Qt的安装费了UP好多功夫,这里需要特别标出,因为好多Qt版本不是与VS2019不相关,就是32位版本,无法编译,因此,UP几经尝试在几乎都要放弃的时候找到了这个版本——qt-opensource-windows-x86-msvc2015_64-5.7.1.exe看清楚,MSVC指的是与VS版本的关联,VS向下兼容,用2019倒也无妨,主要是之后的64很重要!!如果没有这个字样,之后的编译就无法通过!这里不推荐用官网下载,这个网站会省去好多注册付费的麻烦http://download.qt.io/archive/qt/5.7/5.7.1/。下载安装后,更重要的是,这里需要添加一下系统变量(如果有连这个都不太懂的萌新小可爱就请手动百度吧^_^)
变量名:QMAKESPEC 变量值:.\Qt\Qt5.7.1\5.7\msvc2015_64\mkspecs\winrt-x64-msvc2015
变量名:QTDIR 变量值:.\Qt\Qt5.7.1
注:这里的.\是相对文件路径,请各位童鞋按照自己安装时候的路径自行更改。
第五:经历过上面最累的一部分,我们几乎就把所有的部分都下载完成了(怎么会捏?),需要用什么来把它们联系起来呢?这就是在Linux系统上经常用到的Cmake指令,在这里,我们的windows系统无法像Linux大法一样一行命令安装,因此,我们需要手动下载安装cmake GUI(当然,有兴趣的童鞋也可试试Windows上的Linux仿真器cygwin,之前好多大佬也这么用)。这里,我只po出cmake Windows版本的下载版本cmake-3.15.2-win64-x64.msi和地址https://cmake.org/download/。尽量使用最近版本,因为以前版本是不能与VS2019兼容的!!安装很简单,这里不赘述了。
第六:那么,所有的所有都安装好了(这次是真的!)要动手开始编译了!!!这里我们双击点开Cmake GUI桌面图标,在第一行的“where is the source code:”框里找到我们Geant4源码所在的位置(就是之前下载过的Geant4文件夹下geant4_10_05_p01什么的),在下一行“where to build the binaries:”框里再在Geant4文件夹下与上文件夹并行的地方新建一文件夹,命名为“build”(这是习惯啦,当然,你愿意,阿猫阿狗也行)。填好后大概就是这个样子滴:
不太一样?没有关系,这是UP本人已经编译过后的情况 ,只要童鞋们安装上述去填写就好。之后,我们点击左下角的Configure按钮,开始预编译,这里,我们需要选择IDE版本,记得选择VS2019哦,相信版本正确的话应该能找得到。在这之后,画面跟上述情况就很像了,现在的问题就是我们需要勾选哪些内容——Qt以及其中所必须的插件OpenGL,其实我感觉安装Qt完全就是为了使用这款插件。。。如果画面并未跳出Qt相关路径请检查Qt安装及环境变量设置是否正确。全部正确后,CMAKE_CONFIGURATION_TYPES就留下Release一项就好,之后再选择INSTALL的安装地址CMAKE_INSTALL_PREFIX,可以照着图上填写,再次Configure。
第七:恭喜你基本完成了90%的任务走到这里,下面的事情很简单,点击Generate生成c++工作项目吧!
第八:Cmake的使命结束了,关闭它,或者直接点击第三个按钮:Open Project,界面会自动转到高大上的宇宙第一IDE——VS9012(误)上,我们打开了刚刚亲手生成的geant4项目。别着急,我们还要再做一点小事:第一步下载好的Geant4库文件还记得吗?现在要按照下面的样子用环境变量来配置它们了!
变量名:PATH 变量值:添加两个.\Qt\Qt5.7.1\5.7\msvc2015_64\bin;.\root_v6.18.00\bin(这行似乎是前面忘掉的工作。。。)
变量名:G4ENSDFSTATEDATA 变量值:.\Geant4\DATA\G4ENSDFSTATE2.2
变量名:G4LEDATA 变量值:.\Geant4\DATA\G4EMLOW7.7
变量名:G4LEVELGAMMADATA 变量值:.\Geant4\DATA\PhotonEvaporation5.3
变量名:G4NDLDATA 变量值:.\Geant4\DATA\G4NDL4.5
变量名:G4PARTICLEXSDATA 变量值:.\Geant4\DATA\G4PARTICLEXS1.1
变量名:G4PIIDATA 变量值:.\Geant4\DATA\G4PII1.3
变量名:G4SAIDXSDATA 变量值:.\Geant4\DATA\G4SAIDDATA2.0
目前好像这几个库就够用了吧?不够用的还可以去geant4官网上查询相应的变量名进行添加~
第九:呼~终于完成了!现在,在VS2019的解决方案列表里找到INSTALL这个项目,这里就是你之前在CMake中选择的INSTALL系统安装地址中安装的项目。右键->生成,在这之后,会生成好久好久,但当这一切都完成的时候(没有报错),恭喜你,Geant4平台已经在你电脑里了!
下面,作为测试教学,我们简单实用example里的B4C来做测试(不要问我为什么),我们再次打开CMake GUI,在源代码行找到这个例子的源码,并在你想要生成编译文件的地方建立build文件夹,之后的操作就很简单了,什么都不用选,之间configure,过后再generate,再Open project。打开VS2019之后,再找到INSALL项目,右键生成,等待过后,你的例子也已经上桌了(误~)在这里,需要强调,我们两次生成INSTALL时应该检查一下最上方的编译方式是否为“Release”之前在CMake设置过应该没错,如果不对,请改正为Release。
所有的所有均已完成,当你再次打开你的例子文件夹的时候,你会发现里面多了一个build文件夹,打开它,一堆项目文件里,有一个Release文件夹,打开它,最终,你看到了你的项目可执行文件——exampleB4c.exe。是不是很激动?别急,把它拖动到上一层目录,也就是build目录之后,再双击打开,你就会看到这样的效果:
是不是忘掉了什么?这个例子附带了ROOT程序,因此使用了它,最后的番外任务——用ROOT打开.root数据分析表:
双击ROOTlogo(什么?没有logo?那就自己配一个好看的好了!)再在其中输入命令:TBrowser b,之后在弹出的列表中找到B4C例子build文件夹中生成的.root文件,打开它们,你就会发现,大功告成!!
好啦,就送各位童鞋到这里,也把这篇笔记作为我头一次在博客园的博文,欢迎大家留言斧正!