本物理專業小碩,現在材料實驗室工作,研究方向大概是核屏蔽材料的軟件模擬吧。其實實驗室里大多數師兄弟都是搞焊接的,平時能接觸到這類直接給源碼自己編譯的軟件的機會基本為零,所以一切都靠自己探索,成功搭建了Geant4平台在Win7環境下之后,把安裝經歷分享出來,供大家參考。另:本文特別感謝新浪“走走看看”大佬的博文@http://blog.sina.com.cn/morpheusndpat。接下來就是具體了:
之前在Ubuntu的平台下搭建過Geant4,但因為當時剛剛接觸,所以大多都還是一知半解,這次不小心丟了虛擬機,着忙間趕任務,反而學會了不少。首先,相比大多數童鞋用Geant4都會用到可視化和數據分析功能,就像主機需要顯示器跟鍵盤搭配一樣。因此,本文選擇CERN ROOT和Qt分別作為數據分析和可視化部件。第一步,當然還是根據自己的OS選擇相應的工作軟件了。本文用到的OS是Win7 64位操作系統,別小看這64位,好多軟件版本是沒有windows 64位滴,同樣用64位系統的童鞋可以根據本文的推薦選擇軟件版本。
第一:Geant4的版本選擇了寫作時最新的geant4_10_05_p01,下載地址po在這里http://geant4.web.cern.ch/support/download,同時,童鞋們也要把下載列表下面所列的Data files悉數下載下來,先保存在另外的地方。不過為了保證安裝平台的系統性,建議新建文件夾“Geant4”,在文件夾下再用兩個文件夾一個放源文件,一個放庫文件。
第二:整個平台需要一款編譯器,因此,推薦微軟的宇宙第一IDE visual studio,UP這里選擇的版本是VS2019,這軟件對於開源開發者來說完全免費,請放心食用。https://visualstudio.microsoft.com/zh-hans/vs/安裝過程友好,只需下一步即可完成。之后所用到的ROOT和Qt均與這IDE相關。
第三:選擇CERN ROOT下載版本,這東西是最好安裝的,只需要把地址放在這里就好https://root.cern.ch/downloading-root,這里選擇的版本建議越新越好,本文所用的版本是root_v6.18.02.win32.vc16.exe,正如童鞋們看到,上面標注win32,但經測試,64位OS可用,這也是這玩意兒之所以好安裝的原因之一。安裝過程也極為方便,下一步大法。
第四:Qt的安裝費了UP好多功夫,這里需要特別標出,因為好多Qt版本不是與VS2019不相關,就是32位版本,無法編譯,因此,UP幾經嘗試在幾乎都要放棄的時候找到了這個版本——qt-opensource-windows-x86-msvc2015_64-5.7.1.exe看清楚,MSVC指的是與VS版本的關聯,VS向下兼容,用2019倒也無妨,主要是之后的64很重要!!如果沒有這個字樣,之后的編譯就無法通過!這里不推薦用官網下載,這個網站會省去好多注冊付費的麻煩http://download.qt.io/archive/qt/5.7/5.7.1/。下載安裝后,更重要的是,這里需要添加一下系統變量(如果有連這個都不太懂的萌新小可愛就請手動百度吧^_^)
變量名:QMAKESPEC 變量值:.\Qt\Qt5.7.1\5.7\msvc2015_64\mkspecs\winrt-x64-msvc2015
變量名:QTDIR 變量值:.\Qt\Qt5.7.1
注:這里的.\是相對文件路徑,請各位童鞋按照自己安裝時候的路徑自行更改。
第五:經歷過上面最累的一部分,我們幾乎就把所有的部分都下載完成了(怎么會捏?),需要用什么來把它們聯系起來呢?這就是在Linux系統上經常用到的Cmake指令,在這里,我們的windows系統無法像Linux大法一樣一行命令安裝,因此,我們需要手動下載安裝cmake GUI(當然,有興趣的童鞋也可試試Windows上的Linux仿真器cygwin,之前好多大佬也這么用)。這里,我只po出cmake Windows版本的下載版本cmake-3.15.2-win64-x64.msi和地址https://cmake.org/download/。盡量使用最近版本,因為以前版本是不能與VS2019兼容的!!安裝很簡單,這里不贅述了。
第六:那么,所有的所有都安裝好了(這次是真的!)要動手開始編譯了!!!這里我們雙擊點開Cmake GUI桌面圖標,在第一行的“where is the source code:”框里找到我們Geant4源碼所在的位置(就是之前下載過的Geant4文件夾下geant4_10_05_p01什么的),在下一行“where to build the binaries:”框里再在Geant4文件夾下與上文件夾並行的地方新建一文件夾,命名為“build”(這是習慣啦,當然,你願意,阿貓阿狗也行)。填好后大概就是這個樣子滴:
不太一樣?沒有關系,這是UP本人已經編譯過后的情況 ,只要童鞋們安裝上述去填寫就好。之后,我們點擊左下角的Configure按鈕,開始預編譯,這里,我們需要選擇IDE版本,記得選擇VS2019哦,相信版本正確的話應該能找得到。在這之后,畫面跟上述情況就很像了,現在的問題就是我們需要勾選哪些內容——Qt以及其中所必須的插件OpenGL,其實我感覺安裝Qt完全就是為了使用這款插件。。。如果畫面並未跳出Qt相關路徑請檢查Qt安裝及環境變量設置是否正確。全部正確后,CMAKE_CONFIGURATION_TYPES就留下Release一項就好,之后再選擇INSTALL的安裝地址CMAKE_INSTALL_PREFIX,可以照着圖上填寫,再次Configure。
第七:恭喜你基本完成了90%的任務走到這里,下面的事情很簡單,點擊Generate生成c++工作項目吧!
第八:Cmake的使命結束了,關閉它,或者直接點擊第三個按鈕:Open Project,界面會自動轉到高大上的宇宙第一IDE——VS9012(誤)上,我們打開了剛剛親手生成的geant4項目。別着急,我們還要再做一點小事:第一步下載好的Geant4庫文件還記得嗎?現在要按照下面的樣子用環境變量來配置它們了!
變量名:PATH 變量值:添加兩個.\Qt\Qt5.7.1\5.7\msvc2015_64\bin;.\root_v6.18.00\bin(這行似乎是前面忘掉的工作。。。)
變量名:G4ENSDFSTATEDATA 變量值:.\Geant4\DATA\G4ENSDFSTATE2.2
變量名:G4LEDATA 變量值:.\Geant4\DATA\G4EMLOW7.7
變量名:G4LEVELGAMMADATA 變量值:.\Geant4\DATA\PhotonEvaporation5.3
變量名:G4NDLDATA 變量值:.\Geant4\DATA\G4NDL4.5
變量名:G4PARTICLEXSDATA 變量值:.\Geant4\DATA\G4PARTICLEXS1.1
變量名:G4PIIDATA 變量值:.\Geant4\DATA\G4PII1.3
變量名:G4SAIDXSDATA 變量值:.\Geant4\DATA\G4SAIDDATA2.0
目前好像這幾個庫就夠用了吧?不夠用的還可以去geant4官網上查詢相應的變量名進行添加~
第九:呼~終於完成了!現在,在VS2019的解決方案列表里找到INSTALL這個項目,這里就是你之前在CMake中選擇的INSTALL系統安裝地址中安裝的項目。右鍵->生成,在這之后,會生成好久好久,但當這一切都完成的時候(沒有報錯),恭喜你,Geant4平台已經在你電腦里了!
下面,作為測試教學,我們簡單實用example里的B4C來做測試(不要問我為什么),我們再次打開CMake GUI,在源代碼行找到這個例子的源碼,並在你想要生成編譯文件的地方建立build文件夾,之后的操作就很簡單了,什么都不用選,之間configure,過后再generate,再Open project。打開VS2019之后,再找到INSALL項目,右鍵生成,等待過后,你的例子也已經上桌了(誤~)在這里,需要強調,我們兩次生成INSTALL時應該檢查一下最上方的編譯方式是否為“Release”之前在CMake設置過應該沒錯,如果不對,請改正為Release。
所有的所有均已完成,當你再次打開你的例子文件夾的時候,你會發現里面多了一個build文件夾,打開它,一堆項目文件里,有一個Release文件夾,打開它,最終,你看到了你的項目可執行文件——exampleB4c.exe。是不是很激動?別急,把它拖動到上一層目錄,也就是build目錄之后,再雙擊打開,你就會看到這樣的效果:
是不是忘掉了什么?這個例子附帶了ROOT程序,因此使用了它,最后的番外任務——用ROOT打開.root數據分析表:
雙擊ROOTlogo(什么?沒有logo?那就自己配一個好看的好了!)再在其中輸入命令:TBrowser b,之后在彈出的列表中找到B4C例子build文件夾中生成的.root文件,打開它們,你就會發現,大功告成!!
好啦,就送各位童鞋到這里,也把這篇筆記作為我頭一次在博客園的博文,歡迎大家留言斧正!