該教程介紹如何將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分開放在了不同的目錄,這樣不會將源文件和可執行文件混淆,有許多好處。