Geant4采用make和cmake编译运行geant4自带例子的方法
?
該教程介紹如何將geant4中自帶的例子通過(guò)camke編譯成可執(zhí)行文件,并運(yùn)行程序。
?
1 在linux主目錄下創(chuàng)建一個(gè)geant4_workdir目錄,并將geant4自帶的例子B1復(fù)制到該目錄下,如圖1所示,geant4自帶的B1源文件所在目錄為geant4安裝目錄,如圖2所示。
圖1
圖2
2 復(fù)制完成后到終端并進(jìn)入到B1文件里面(~/geant4_workdir/B1/),然后在終端輸入make開始編譯文件,開始與結(jié)果分別如圖3所示,這樣便完成了編譯。
圖3
編譯之后再回到~/geant4_workdir/目錄下,可以看到有bin和temp文件夾,bin文件夾下裝的是二進(jìn)制文件exampleB1,如圖4,可以直接運(yùn)行。
圖4
3 現(xiàn)在開始運(yùn)行exampleB1可執(zhí)行文件,在終端進(jìn)入剛才編譯的B1文件夾,人后輸入命令~/geant4_workdir/bin/Linux-g++/exampleB1,即編譯生成的可執(zhí)行文件的目錄,運(yùn)行結(jié)果見圖5,并彈出可視化界面,可以在彈出的界面里輸入macro文件命令執(zhí)行程序
圖5
上述方法編譯的程序有一個(gè)缺點(diǎn)就是源程序B1和編譯程序B1沒分開,下面介紹源程序和編譯后的程序分開執(zhí)行g(shù)eant4程序的過(guò)程:
?
1 同樣的,首先將源程序B1復(fù)制到~/geant4_workdir目錄下,然后建立一個(gè)B1-build的文件夾,如圖6所示,這個(gè)B1-build文件夾就是用來(lái)生成可執(zhí)行文件的。
圖6
2 編譯生成可執(zhí)行文件,從終端進(jìn)入到B1-build文件夾,并在終端輸入命令:
cmake –DGeant4_DIR=/home/geant4.10.03-install/lib/Geant4-10.3.2 $HOME/geant4_workdir/B1
等式后面的內(nèi)容分為兩部分,前面是geant4安裝目錄,這里需要geant4安裝的Geant4Congfig.cmake(如圖7所示)文件來(lái)編譯B1文件,因此先輸入Geant4Congfig.cmake文件所在目錄,后半部分是要編譯的B1源文件所在目錄,就是剛才復(fù)制到~/geant4_workdir目錄下的B1文件,輸入命令回車后得到圖8 結(jié)果,這一步將源文件B1復(fù)制到了B1-build文件下,并創(chuàng)建了geant4頭文件庫(kù)可待編譯源文件的連接,打開B1-build問價(jià)夾可以看到與B1源文件相同的文件,如圖8所示。
圖7
圖8
3 現(xiàn)在可以進(jìn)行編譯了,在終端繼續(xù)輸入命令make –j2,2表示電腦系統(tǒng)的內(nèi)核數(shù),我的系統(tǒng)內(nèi)核數(shù)為2,編譯結(jié)果后會(huì)生成可執(zhí)行文件exampleB1,如圖9所示。
圖9
4 現(xiàn)在可以執(zhí)行exampleB1文件了,在終端輸入./exampleB1,回車后會(huì)得到和第一種方法一樣的結(jié)果。
第二種方法將B1源文件和編譯生成的可執(zhí)行文件B1-build分開放在了不同的目錄,這樣不會(huì)將源文件和可執(zhí)行文件混淆,有許多好處。
?
轉(zhuǎn)載于:https://www.cnblogs.com/Star-Lee/p/7827646.html
總結(jié)
以上是生活随笔為你收集整理的Geant4采用make和cmake编译运行geant4自带例子的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泸州老窖52°的酒一箱多少钱啊
- 下一篇: 一道面试题:js返回函数, 函数名后带多