1. 程式人生 > >Geant4采用make和cmake編譯運行geant4自帶例子的方法

Geant4采用make和cmake編譯運行geant4自帶例子的方法

剛才 例子 1-1 build g++ 核數 emp cmake 編譯

該教程介紹如何將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自帶例子的方法