首页 > Geant4采用make和cmake编译运行geant4自带例子的方法

Geant4采用make和cmake编译运行geant4自带例子的方法

 

该教程介绍如何将geant4中自带的例子通过camke编译成可执行文件,并运行程序。

 

1 在linux主目录下创建一个geant4_workdir目录,并将geant4自带的例子B1复制到该目录下,如图1所示,geant4自带的B1源文件所在目录为geant4安装目录,如图2所示。

图1

图2

2 复制完成后到终端并进入到B1文件里面(~/geant4_workdir/B1/),然后在终端输入make开始编译文件,开始与结果分别如图3所示,这样便完成了编译。

图3

编译之后再回到~/geant4_workdir/目录下,可以看到有bin和temp文件夹,bin文件夹下装的是二进制文件exampleB1,如图4,可以直接运行。

图4

3 现在开始运行exampleB1可执行文件,在终端进入刚才编译的B1文件夹,人后输入命令~/geant4_workdir/bin/Linux-g++/exampleB1,即编译生成的可执行文件的目录,运行结果见图5,并弹出可视化界面,可以在弹出的界面里输入macro文件命令执行程序

图5

上述方法编译的程序有一个缺点就是源程序B1和编译程序B1没分开,下面介绍源程序和编译后的程序分开执行geant4程序的过程:

 

1 同样的,首先将源程序B1复制到~/geant4_workdir目录下,然后建立一个B1-build的文件夹,如图6所示,这个B1-build文件夹就是用来生成可执行文件的。

图6

2 编译生成可执行文件,从终端进入到B1-build文件夹,并在终端输入命令:

cmake –DGeant4_DIR=/home/geant4.10.03-install/lib/Geant4-10.3.2 $HOME/geant4_workdir/B1

等式后面的内容分为两部分,前面是geant4安装目录,这里需要geant4安装的Geant4Congfig.cmake(如图7所示)文件来编译B1文件,因此先输入Geant4Congfig.cmake文件所在目录,后半部分是要编译的B1源文件所在目录,就是刚才复制到~/geant4_workdir目录下的B1文件,输入命令回车后得到图8 结果,这一步将源文件B1复制到了B1-build文件下,并创建了geant4头文件库可待编译源文件的连接,打开B1-build问价夹可以看到与B1源文件相同的文件,如图8所示。

图7

图8

3 现在可以进行编译了,在终端继续输入命令make –j2,2表示电脑系统的内核数,我的系统内核数为2,编译结果后会生成可执行文件exampleB1,如图9所示。

图9

4 现在可以执行exampleB1文件了,在终端输入./exampleB1,回车后会得到和第一种方法一样的结果。

第二种方法将B1源文件和编译生成的可执行文件B1-build分开放在了不同的目录,这样不会将源文件和可执行文件混淆,有许多好处。

 

转载于:https://www.cnblogs.com/Star-Lee/p/7827646.html

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...