WIN7 64位系統安裝geant4.9.6_p02教程

下載相關軟件

 下載並安裝 Visual Studio 2010
 下載cmake,任意版本即可
http://www.cmake.org/cmake/resources/software.html
 下載Coin3D和SoWin:open inventor 圖形驅動的 Windows 實現)
https://download.csdn.net/detail/nhuchpj/4115450
 下載Geant4.9.6_p02
http://geant4.cern.ch/support/source/geant4_9_6_p02.zip
 下載9個數據包以及WIN32-VC100-7.exe包
http://geant4.web.cern.ch/support/download_archive?page=6
在這裏插入圖片描述

  • 注意

不要安裝VS2010以上版本,若已安裝,卸載.NET4.5,並安裝.NET4.0。

  • 參考文章

https://wenku.baidu.com/view/18ccdb1c3c1ec5da51e27014.html
https://wenku.baidu.com/view/57709742b307e87101f6965d.html

安裝Geant

解壓 Geant4 源程序到 F:\盤符下,生成:F:\geant4.9.6.p02。在該目錄下新建 data 文件夾,並分別解壓數據包到該文件夾。解壓文件 Coin-3.1.3-SoWin-1.5.0-vs2010 到 F:\下。建立 Build 目錄比如:F:\geant4.9.6-build。
啓動 cmake-gui,點擊Configure。
在這裏插入圖片描述
添加路徑和文件:
在這裏插入圖片描述
設置完成後如下:
在這裏插入圖片描述
點擊Advanced,在 CMake-GUI 高級選項中向 CMAKE_CXX_FLAGS 中添加新的定義:-DCOIN_DLL -DSOWIN_DLL
在這裏插入圖片描述
可避免在後面的編譯過程中出現頭文件定義錯誤:
F:\Coin-3.1.3-SoWin-1.5.0-vs2010\include\Inventor/C/basic.h(288): fatal error C1189: #error:Define either COIN_DLL or COIN_NOT_DLL as appropriate for your linkage! See Inventor/C/basic.h for further instructions
單擊 Configure 來更新配置的選項。彈出編譯器選擇框,選擇2010版本。可選默認 32 位的。
在這裏插入圖片描述
等待 configuring done. 後單擊 Generate。等待 Generating done,完成後開始下一步。
進入 geant4.9.6-build 目錄,雙擊打開 Geant4.sln 文件,等待加載完成後。默認的編譯是 Debug 版本,需要計算速度的更改爲Release 版本進行編譯,如下圖。在窗口左邊的“解決方案資源管理器”分欄中找到“INSTALL”選項卡右鍵單擊,並在彈出菜單中選擇“Build”(生成)進行編譯和安裝。這個過程估計要一段時間完成。
在這裏插入圖片描述
在編譯過程中可能出現如下錯誤如果你使用 OpenInventor(Coin3D+SoWin),在編譯時可能會出現如下錯誤:
 頭文件定義錯誤:即缺少宏定義 COIN_DLL;SOWIN_DLL:
解決辦法 1:在對應的出錯項目名稱上點右鍵-屬性-配置屬性-C/C++預處理器,添加預處理器定義:COIN_DLL; SOWIN_DLL;(沒找到對應位置!網上搜索 C/C++預處理器 找不到問題的解決辦法:Q: 需要選擇含.cpp 的項目)
在這裏插入圖片描述
解決辦法 2:此錯誤可在 CMake 時修正,在 CMake GUI 高級選項中向 CMAKE_CXX_FLAGS 中添加 新的定義:-DCOIN_DLL -DSOWIN_DLL
在這裏插入圖片描述
 找不到 dispatchWin32Event 成員
解決辦法:改成大寫的 DispatchWin32Event。重新編譯 INSTALL。
在這裏插入圖片描述
 鏈接錯誤,找不到 G4OpenInventor 之類的符號
解決辦法:選擇含.cpp 的項目,點擊右鍵-屬性-配置屬性-鏈接器-輸入-附加依賴項-編輯,粘帖所需的庫F:\geant4.9.6-build\outputs\archive\Debug_G4OpenInventor-archive.lib,見後面example 的圖。編譯完成,顯示沒有錯誤,關閉 Geant4.sln 窗口。

設置環境變量

安裝完成,將 F:\geant4.9.6.p02\bin、以及 F:\Coin-3.1.3-SoWin-1.5.0-vs2010\bin 加入 path 環境變量中。
在這裏插入圖片描述

安裝Data文件

將下載的文件放到 F:\geant4.9.6.p02\data 文件夾中並解壓。設置環境變量:(運行“setx data path on F.bat”,首先確認安裝 data 位置)。每次開機後都需要重新設置,每次運行時在 cmd 中執行下面代碼:(也可以在 windows 環境變量添加下面代碼,開機自動加載)(或者把下面的代碼寫成.bat 批處理程序)

//setx G4ABLADATA F:\geant4.9.6.p02\data\G4ABLA3.0
setx G4LEDATA F:\geant4.9.6.p02\data\G4EMLOW6.32
setx G4LEVELGAMMADATA F:\geant4.9.6.p02\data\PhotonEvaporation2.3
setx G4NEUTRONHPDATA F:\geant4.9.6.p02\data\G4NDL4.2
setx G4NEUTRONXSDATA F:\geant4.9.6.p02\data\G4NEUTRONXS1.2
setx G4PIIDATA F:\geant4.9.6.p02\data\G4PII1.3
setx G4RADIOACTIVEDATA F:\geant4.9.6.p02\data\RadioactiveDecay3.6
setx G4REALSURFACEDATA F:\geant4.9.6.p02\data\RealSurface1.0

運行實例

在 F:\盤符下新建 example 文件夾。拷貝實例 F:\geant4.9.6.p02\examples\novice\N02到該目錄下。設置 cmake 安裝路徑爲 example 下 N02 目錄。同樣 cmake 一下得到N02.sln 文件。
在這裏插入圖片描述
打開 N02.sln,同樣 INSTALL-> build 生成 exe。
 編譯過程中若出現鏈接錯誤,找不到 G4OpenInventor 之類的符號
解決辦法:選擇 exampleN02,點擊右鍵-屬性-配置屬性-鏈接器-輸入-附加依賴項-編輯,粘帖所需的庫F:\geant4.9.6-build\outputs\archive\Release_G4OpenInventor-archive.lib。重新編譯,編譯好的 exe 文件在/N02/bin 下。
在這裏插入圖片描述
拷貝 vis.mac 放到/N02/bin 文件夾下,打開 vis.mac 略作修改,原來是這樣的:(使用 OpenGL 可視化 ),Open Inventor 比默認的 OpenGL 好多了,可以用鼠標和鍵盤自由拖動、旋轉、縮放等等。

# Use this open statement to create an OpenGL view:
/vis/open OGL 600x600-0+0
#
修改成:(使用 Open Inventor 可視化 ):
# Use this open statement to create an OpenGL view:
/vis/open OI 600x600-0+0
#

在/N02/bin 下運行 exampleN02.exe,如果程序出錯,在彈出框中選擇調試程序。在這裏插入圖片描述
在調試窗口中得到如下信息:
在這裏插入圖片描述
沒有找到對應的 data 文件,原因是沒有設置各個 data 數據庫的環境變量或者設置不正確。根據 data 的位置更改,在cmd或生成.bat重新進行設置。

@f:
@echo on
@echo. Rem 顯示空白行 rem
@echo.
@echo 『setx path for geant4 bin』 rem 回顯信息 rem
@echo.
@setx path "%path%;F:\geant4.9.6.p02\bin" -m
@setx path "%path%;F:\Coin-3.1.3-SoWin-1.5.0-vs2010\bin" -m
@echo.
@echo 『setx DATA path for geant4.9.6 on F:』
@echo.
@echo * press any key to continue..
@pause>null rem 不顯示pause回顯信息 rem
setx G4LEDATA F:\geant4.9.6.p02\data\G4EMLOW6.32
setx G4LEVELGAMMADATA F:\geant4.9.6.p02\data\PhotonEvaporation2.3
setx G4NEUTRONHPDATA F:\geant4.9.6.p02\data\G4NDL4.2
setx G4NEUTRONXSDATA F:\geant4.9.6.p02\data\G4NEUTRONXS1.2
setx G4PIIDATA F:\geant4.9.6.p02\data\G4PII1.3
setx G4RADIOACTIVEDATA F:\geant4.9.6.p02\data\RadioactiveDecay3.6
setx G4REALSURFACEDATA F:\geant4.9.6.p02\data\RealSurface1.0
@echo.
@echo * press any key to check!
@pause>null
set
@echo.
@echo.
@echo * press any key to exit!
@pause>null
@del null rem 刪除生成的文件 rem
@echo off
Exit

若缺少相關文件,從WIN32-VC100-7.exe包中複製。若運行exe出錯,嘗試用Release版本重新生成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章