本物理专业小硕,现在材料实验室工作,研究方向大概是核屏蔽材料的软件模拟吧。其实实验室里大多数师兄弟都是搞焊接的,平时能接触到这类直接给源码自己编译的软件的机会基本为零,所以一切都靠自己探索,成功搭建了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文件,打开它们,你就会发现,大功告成!!

好啦,就送各位童鞋到这里,也把这篇笔记作为我头一次在博客园的博文,欢迎大家留言斧正!

在Win7环境下搭建Geant4工作平台的更多相关文章

  1. WIN7 环境下搭建 PHP7(64 位)操作步骤

    WIN7 环境下搭建 PHP7(64 位)操作步骤 一.安装与配置 Apache 1.下载 Apache下载地址:https://www.apachelounge.com/download/ 2.安装 ...

  2. Win7环境下搭建Go开发环境,基于VSCode编辑器

    一.在搭建的时候参考以下文章 http://www.cnblogs.com/zsy/archive/2016/02/28/5223957.html http://blog.csdn.net/hil20 ...

  3. [原创]win7环境下搭建eclipse+python+django开发环境

    一)工具下载 a)eclipse(最新版4.3.1)官网下载地址 http://www.eclipse.org/downloads/ b)python (2.X版本)官网下载地址 http://pyt ...

  4. Appium 在Win7环境下搭建

    (一) Java环境准备 安装java sdk 环境变量配置:JAVA_HOME=D:\Program Files\Java\jdk1.8.0_92 PATH设置:%JAVA_HOME%\bin 验证 ...

  5. 在Win7虚拟机下搭建Hadoop2.6.0+Spark1.4.0单机环境

    Hadoop的安装和配置可以参考我之前的文章:在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境. 本篇介绍如何在Hadoop2.6.0基础上搭建spark1.4.0单机环境. 1. 软件准备 ...

  6. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  7. WIN7环境下CUDA7.5的安装、配置和测试(Visual Studio 2010)

    以下基于"WIN7(64位)+Visual Studio 2010+CUDA7.5". 系统:WIN7,64位 开发平台:Visual Studio 2010 显卡:NVIDIA ...

  8. win7环境下配置JDK&&安装Weblogic12.2.1.4.0

    win7环境下安装Weblogic12.2.1.4.0 写在前面 最近因为想复现一下weblogic的CVE-2020-2555和CVE-2020-2883漏洞,需要weblogic环境,但是vulh ...

  9. ubuntu 14.04LTS 环境下搭建tftp服务器

    花费我一整天的时间在 ubuntu 14.04LTS 环境下搭建tftp服务器,网上好多资料参差不齐,简单来说,TFTP(Trivial File Transfer Protocol),是一个基于UD ...

随机推荐

  1. Jmeter逻辑控制之if控制器

    一.背景 在实际工作中,当使用Jmeter做性能脚本或者接口脚本时,有可能会遇到需要对不同的条件做不同的操作,基于这种诉求,在Jmeter中可使用if控制器来实现 二.实际操作 逻辑控制器位置: 在线 ...

  2. sql server update 的批量更新方法

    假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中 ...

  3. 字符串转换json格式

    前台json转字符串传递后台时 用到: data: JSON.stringify({ "zh": zhanghao, "mm": mima }), 当后台返回前 ...

  4. LOJ P10118 打鼹鼠 题解

    每日一题 day17 打卡 Analysis 二维树状数组的单点修改和区间查询,和一维的差不多 #include<iostream> #include<cstdio> #inc ...

  5. mutt/mail

    邮件管理命令 发送和接收邮件

  6. 爬虫(十五):scrapy中的settings详解

    Scrapy设定(settings)提供了定制Scrapy组件的方法.你可以控制包括核心(core),插件(extension),pipeline及spider组件.设定为代码提供了提取以key-va ...

  7. Codeforces Round #566 (Div. 2)题解

    时间\(9.05\)好评 A Filling Shapes 宽度为\(3\),不能横向填 考虑纵向填,长度为\(2\)为一块,填法有两种 如果长度为奇数则显然无解,否则\(2^{n/2}\) B Pl ...

  8. CF1174B Ehab Is an Odd Person(排序+结论)

    做法 一个显然的结论就是如果至少有一个奇数和一个偶数,那么是可以随意调整的,也就是升序排序 否则不可以进行任何操作 Code #include<bits/stdc++.h> using n ...

  9. spark错误记录总结

    1.执行spark-submit时出错 执行任务如下: # ./spark-submit --class org.apache.spark.examples.SparkPi /hadoop/spark ...

  10. dp之斜率优化

    前几天想练练思维,所以从cf上随便找了一道dp题,看完题意后第一感觉很简单,就是简单的区间dp题,但是看到数据范围的我顿时就懵了,(1≤n≤105) emmmmmmmm,按照普通的思路肯定会超时的.. ...