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
WIN7 64位系统安装geant4.9.6_p02教程_第1张图片

  • 注意

不要安装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。
WIN7 64位系统安装geant4.9.6_p02教程_第2张图片
添加路径和文件:
WIN7 64位系统安装geant4.9.6_p02教程_第3张图片
设置完成后如下:
WIN7 64位系统安装geant4.9.6_p02教程_第4张图片
点击Advanced,在 CMake-GUI 高级选项中向 CMAKE_CXX_FLAGS 中添加新的定义:-DCOIN_DLL -DSOWIN_DLL
WIN7 64位系统安装geant4.9.6_p02教程_第5张图片
可避免在后面的编译过程中出现头文件定义错误:
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 位的。
WIN7 64位系统安装geant4.9.6_p02教程_第6张图片
等待 configuring done. 后单击 Generate。等待 Generating done,完成后开始下一步。
进入 geant4.9.6-build 目录,双击打开 Geant4.sln 文件,等待加载完成后。默认的编译是 Debug 版本,需要计算速度的更改为Release 版本进行编译,如下图。在窗口左边的“解决方案资源管理器”分栏中找到“INSTALL”选项卡右键单击,并在弹出菜单中选择“Build”(生成)进行编译和安装。这个过程估计要一段时间完成。
WIN7 64位系统安装geant4.9.6_p02教程_第7张图片
在编译过程中可能出现如下错误如果你使用 OpenInventor(Coin3D+SoWin),在编译时可能会出现如下错误:
 头文件定义错误:即缺少宏定义 COIN_DLL;SOWIN_DLL:
解决办法 1:在对应的出错项目名称上点右键-属性-配置属性-C/C++预处理器,添加预处理器定义:COIN_DLL; SOWIN_DLL;(没找到对应位置!网上搜索 C/C++预处理器 找不到问题的解决办法:Q: 需要选择含.cpp 的项目)
WIN7 64位系统安装geant4.9.6_p02教程_第8张图片
解决办法 2:此错误可在 CMake 时修正,在 CMake GUI 高级选项中向 CMAKE_CXX_FLAGS 中添加 新的定义:-DCOIN_DLL -DSOWIN_DLL
WIN7 64位系统安装geant4.9.6_p02教程_第9张图片
 找不到 dispatchWin32Event 成员
解决办法:改成大写的 DispatchWin32Event。重新编译 INSTALL。
WIN7 64位系统安装geant4.9.6_p02教程_第10张图片
 链接错误,找不到 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 环境变量中。
WIN7 64位系统安装geant4.9.6_p02教程_第11张图片

安装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 文件。
WIN7 64位系统安装geant4.9.6_p02教程_第12张图片
打开 N02.sln,同样 INSTALL-> build 生成 exe。
 编译过程中若出现链接错误,找不到 G4OpenInventor 之类的符号
解决办法:选择 exampleN02,点击右键-属性-配置属性-链接器-输入-附加依赖项-编辑,粘帖所需的库F:\geant4.9.6-build\outputs\archive\Release_G4OpenInventor-archive.lib。重新编译,编译好的 exe 文件在/N02/bin 下。
WIN7 64位系统安装geant4.9.6_p02教程_第13张图片
拷贝 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,如果程序出错,在弹出框中选择调试程序。WIN7 64位系统安装geant4.9.6_p02教程_第14张图片
在调试窗口中得到如下信息:
WIN7 64位系统安装geant4.9.6_p02教程_第15张图片
没有找到对应的 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版本重新生成。

你可能感兴趣的:(软件安装)