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

    什么是AJAX? AJAX,Asynchronous JavaScript and XML (异步的JavaScript和XML),一种创建交互式网页应用的网页开发技术方案. 异步的JavaScrip ...

  2. 动态 DP 总结

    目录 例题1:模拟赛题 代码: 例题2 例题3:带修改树上最大独立集. 代码: 注:部分参考 https://www.luogu.org/blog/gkxx-is-here/what-the-hell ...

  3. sql的九个常用语句是什么

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  4. File类的createNewFile()和mkdirs() mkdir()

    createNewFile文件不存在则创建,存在则不创建并返回false,文件路径必须存在才可创建路径下的文件(注意它只能创建文件,即如果你给了/storage/emulated/0/hello/sn ...

  5. 利用webuploader实现超大文件分片上传、断点续传

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  6. Ubuntu16.04 安装 CUDA9.2(总结一些新手容易遇到的问题)

    系统:Ubuntu16.04 64bit 显卡:Nvidia GEFORCE 940MX 驱动:NVIDIA-Linux-x86_64-396.18.run 软件:cuda_9.2.88_396.26 ...

  7. VMware安装Centos7超详细教程

    本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定安装参考价值 在没有运维的情况下,很多时候测试需要自己搭建测试环境,而测试环境又分为QA环境,自动化测试环境,uat环境,以 ...

  8. CF1174E Ehab and the Expected GCD Problem(动规+数论+分解)

    做法 先来填第一个数,为了保证\(f(p)\)最大,第一个数分解一下为\(\prod\limits_{p_i}p_i^{k_i}\)使得\(\sum\limits_{k_i}\)最大 显然第一个数为\ ...

  9. Buuctf pwn1 详细wp

    目录 程序基本信息 程序溢出点 确定返回地址 编写exp脚本 成功getshell 程序基本信息 我们可以看到这是一个64程序,没有保护开启. 程序溢出点 gets函数可以读取无限字符,存在栈溢出. ...

  10. js的一些兼容性易错的的问题

    一.属性相关 我们通常把特征(attribute)和属性(property)统称为属性,但是他们确实是不同的概念,特征(attribute)会表现在HTML文本中,对特征的修改一定会表现在元素的out ...