在Win7环境下搭建Geant4工作平台
本物理专业小硕,现在材料实验室工作,研究方向大概是核屏蔽材料的软件模拟吧。其实实验室里大多数师兄弟都是搞焊接的,平时能接触到这类直接给源码自己编译的软件的机会基本为零,所以一切都靠自己探索,成功搭建了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工作平台的更多相关文章
- WIN7 环境下搭建 PHP7(64 位)操作步骤
WIN7 环境下搭建 PHP7(64 位)操作步骤 一.安装与配置 Apache 1.下载 Apache下载地址:https://www.apachelounge.com/download/ 2.安装 ...
- Win7环境下搭建Go开发环境,基于VSCode编辑器
一.在搭建的时候参考以下文章 http://www.cnblogs.com/zsy/archive/2016/02/28/5223957.html http://blog.csdn.net/hil20 ...
- [原创]win7环境下搭建eclipse+python+django开发环境
一)工具下载 a)eclipse(最新版4.3.1)官网下载地址 http://www.eclipse.org/downloads/ b)python (2.X版本)官网下载地址 http://pyt ...
- Appium 在Win7环境下搭建
(一) Java环境准备 安装java sdk 环境变量配置:JAVA_HOME=D:\Program Files\Java\jdk1.8.0_92 PATH设置:%JAVA_HOME%\bin 验证 ...
- 在Win7虚拟机下搭建Hadoop2.6.0+Spark1.4.0单机环境
Hadoop的安装和配置可以参考我之前的文章:在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境. 本篇介绍如何在Hadoop2.6.0基础上搭建spark1.4.0单机环境. 1. 软件准备 ...
- 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境
近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...
- WIN7环境下CUDA7.5的安装、配置和测试(Visual Studio 2010)
以下基于"WIN7(64位)+Visual Studio 2010+CUDA7.5". 系统:WIN7,64位 开发平台:Visual Studio 2010 显卡:NVIDIA ...
- win7环境下配置JDK&&安装Weblogic12.2.1.4.0
win7环境下安装Weblogic12.2.1.4.0 写在前面 最近因为想复现一下weblogic的CVE-2020-2555和CVE-2020-2883漏洞,需要weblogic环境,但是vulh ...
- ubuntu 14.04LTS 环境下搭建tftp服务器
花费我一整天的时间在 ubuntu 14.04LTS 环境下搭建tftp服务器,网上好多资料参差不齐,简单来说,TFTP(Trivial File Transfer Protocol),是一个基于UD ...
随机推荐
- vue app.xxx.js 较大问题
线上build之后发现app.XXX.js 文件特别大. 包我都改为cdn了 其他空间就是路由改为懒加载了. { path: '/a/b', name: 'ab', component: () =&g ...
- spark提交任务报错: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
spark提交任务报错: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes ...
- Spring动态代理及Spring Bean的生命周期
数组添加值 public class DiTest { /** * 数组 */ private String [] arrays; /** * List:集合 */ private List<I ...
- TensorFlow(一):准备
我的环境:win10+python3.6.4(64位) 一:安装python 根据自己的电脑下载python(32位或者64位)-->安装教程 安装好python后记得配置pip源,使用官方的源 ...
- python 小数处理
modf() 分别取整数部分和小数部分 math模块函数import mathn = 3.75print(math.modf(n))>>> (0.75, 3.0)n = 3.25pr ...
- (转载) 添加或删除datanode节点
转载:https://www.cnblogs.com/marility/p/9362168.html 1.测试环境 ip 主机名 角色 10.124.147.22 hadoop1 namenode 1 ...
- scp执行报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
linux环境执行scp时会遇到报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!,如下 [root@subsname home]# scp AAA. ...
- JAVA基础知识|String、StringBuilder、StringBuffer比较
一.简介 String:不可变字符序列 StringBuffer:线程安全的可变字符序列 StringBuilder:非线程安全的可变字符序列 二.示例分析 [示例1] String A = &quo ...
- 【原】Python基础-序列
1 序列 在Python中,最基本的数据结构是序列,序列中每个元素被分配一个编号,也称为索引.第一个索引为0,第二个则是1,以此类推.序列中最后一个元素被标为-1,倒数第二个元素被标为-2,以此类推. ...
- python datetime库使用和时间加减计算
datetime库使用 一.操作当前时间 1.获取当前时间 >>> import datetime >>> print datetime.datetime.now( ...