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

Posted Star_Lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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分开放在了不同的目录,这样不会将源文件和可执行文件混淆,有许多好处。

 

以上是关于Geant4采用make和cmake编译运行geant4自带例子的方法的主要内容,如果未能解决你的问题,请参考以下文章

五步轻松安装Geant4 (Windows篇) | 入门

在win7上用cygwin编译Geant4自带的example提示 error C3861: “lrint”: 找不到标识符

ubuntu装geant4遇到如下问题

make如何指定cmake路径

CentOS8安装Geant4笔记:Geant4介绍编译安装支持Qt5界面并运行exampleB1例程显示Qt界面

CentOS8安装Geant4笔记:Geant4介绍编译和安装