该教程介绍如何将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

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

  1. Geant4学习笔记(一)-运行Geant4实例

    运行Geant4实例 如何构造并运行一个实例 编译链接生成可执行程序 如何构造并运行一个实例 所有的例子都有相似的结构.main()函数包含在实例主路径的example.cc文件中,实例源文件代码是在 ...

  2. 用CMake编译运行在网上下载的源文件src

    参考:http://blog.csdn.net/yiqiudream/article/details/51885698 (一).怎么用CMake打开下载的源文件? 工具:下载CMake --> ...

  3. ubuntu下vscode使用cmake编译运行c++配置文件

    在gcc/g++能编译运行c++的情况下,使用cmake编译只需要修改以下两个文件. launch.json {// 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述./ ...

  4. 下载的c语言程序代码怎么运行,CFree怎么运行程序 编译运行C语言程序代码的方法...

    CFree是一款C语言编译软件,用户可以利用这款软件编译C/C++程序 ,如果你想要运行已经编写好的C语言代码,只需要几个简单的操作即可实现,如果你还不知道怎么运行,就赶快来看看下面的教程吧! 1.首 ...

  5. c语言程序如何运行程序,CFree怎么运行程序 编译运行C语言程序代码的方法

    CFree是一款C语言编译软件,用户可以利用这款软件编译C/C++程序 ,如果你想要运行已经编写好的C语言代码,只需要几个简单的操作即可实现,如果你还不知道怎么运行,就赶快来看看下面的教程吧! 1.首 ...

  6. QT编译运行报错信息和解决方法

    本文记录日常工作中使用Qt Creator开发时遇到的报错,以及解决办法,因同一个报错可能的原因很多,这里只是部分解决思路. taking address of temporary 报错代码:domE ...

  7. PCL环境配置失败和运行PCL自带例子

    话说上次配置PCL开发环境失败: http://blog.csdn.net/bcbobo21cn/article/details/51520290 估计可能是环境变量没配置好:下面从新搞一下: 检查环 ...

  8. 运行tuxedo自带例子simpapp,测试tuxedo安装

    在..../simpapp目录下共有4个文件,分别是README simpserv.c(客户端源程序) simpcl.c(服务器端源程序) ubbsimple(配置文件) 1. 设置环境变量 1.1 ...

  9. wordcount linux java_linux下在eclipse上运行hadoop自带例子wordcount

    启动eclipse:打开windows->open perspective->other->map/reduce 可以看到map/reduce开发视图.设置Hadoop locati ...

最新文章

  1. 2 年来,每个人最该感谢的,是坚持学习、用心分享的自己
  2. Spring--IoC(1)
  3. ibm java英语面试_IBMJava英文面试题(附参考答案)
  4. 大工13秋《计算机文化基础》在线测试1,大工13秋《计算机文化基础》辅导资料六...
  5. servlet里面转发与重定向
  6. 数据有为 智在决策 | 观远数据2019智能决策峰会圆满落幕
  7. 【LeetCode题解】排序
  8. Scalaz(49)- scalaz-stream: 深入了解-Sink/Channel
  9. ant基本命令和使用
  10. 百科知识:VTP(思科)
  11. 一个交警的吐血警告,所有开车和坐车的同胞都要看一看(转)
  12. 三星a5000刷Android原生,三星 A5000中文Recovery刷机教程
  13. R语言实现行为特征分析(Behavioral Profile,BP)+层次聚类分析(hierarchical agglomerative cluster analysis,HAC)
  14. 想进大公司先测你EQ
  15. 从 Factor Zoo 到 Factor War,实证资产定价走向何方?
  16. 【十分钟读懂系列】之什么是SLF,PSL,MLF,SLO?
  17. 克隆虚拟机 - hyperv
  18. 未來用工新趨勢_未来人工智能,有什么新的发展趋势?
  19. 路由器卫士有android-,路由器卫士APP全面介绍
  20. 用cobar搭建分布式数据库 .

热门文章

  1. 即将到来的日子 ,你会寂寞吗?
  2. jQuery的Tab插件 Tabtastic
  3. ORB_SLAM2局部建图线程
  4. AlexNet中的局部响应归一化(LRN)
  5. java需要记的语法,Java笔记(三)……基础语法
  6. php 加载一个文件路径_PHP文件加载过程
  7. java arraylist和list_Java中ArrayList和LinkedList区别
  8. C++类的案例(二)
  9. 机器学习(实战)泰坦尼克号(游客存活率预估)
  10. Linux gcc 制作动/静态链接库