安装过程中遇到问题可以联系我一起解决,因为我能体会到你的崩溃email: [email protected]
snap install --classic cmake //安装cmake
sudo apt-get install -y libexpat-dev
sudo apt-get install -y build-essential
sudo apt-get install -y libgll-mesa-dev
sudo apt-get install -y libglul-mesa-dev
sudo apt-get install -y qt4-qmake
sudo apt-get install -y qt4-dev-tools
sudo apt-get install -y libx11-dev libxmu-dev
sudo apt-get install -y qt4-default
sudo apt-get install -y libxerces-c-dev
sudo apt-get install -y cmake-qt-gui
sudo apt-get install libmotif-dev
http://proj-clhep.web.cern.ch/proj-clhep/clhep23.html
下载上面的clhep-2.4.1.2.tgz
mkdir ~/geant4.10.05.p01 //此文件夹用于后续安装geant4.10.5
cd ./geant4.10.05.p01
mv ~/下载/clhep-2.4.1.2.tgz ~/geant4.10.05.p01
tar -xvf ./clhep-2.4.1.2.tgz
cd ./geant4.10.05.p01/2.4.1.2
mkdir build
cd build
cmake ../CLHEP
ccmake . //直接默认选项,不修改
make
sudo make install
http://geant4.web.cern.ch/support/download
cd ~/geant4.10.05.p01
mv ~/下载/geant4.10.05.p01.tar.gz ~/geant4.10.05.p01
tar -vxf geant4.10.05.p01.tar.gz
mkdir geant4.10.05-install
mkdir geant4.10.05-build
cd geant4.10.05-build
cmake ../geant4.10.05.p01
在~/geant4.10.05.p01/geant4.10.05.p01/CmakeLists.txt中添加一行
cmake_policy(SET CMP0072 NEW) //在文件中添加,不是在terminal中输入
ccmake .
在terminal中输入ccmake .之后会出现编译相关的选项配置,请保持如下
其中CMAKE_INSTALL_PREFIX一项对应 ~/geant4.10.05.p01/geant4.10.5-install
GEANT4_INSTALL_DATADIR一项对应~/geant410.05.p01/geant4.10.5-install/data
因为~等价于/home/ray, ~表示当前用户的主文件夹*,这里用~更具有通用性,方便大家参考
设置好之后按c即可
make -j16
-j16参数表示编译时使用的job数量;我的处理器是8核/16线程,如果不知道也可以不指定,直接运行下面make的命令,只是默认的单线程运行会慢一些,但不要重复运行这两个命令
make
make install
source ~/geant4.10.05.p01/geant4.10.5-install/bin/geant4.sh
这种设置环境变量的方式需要每次在运行BDSIM之前都设置一次环境变量,也就是输入一次上面这行代码,有点小麻烦,不过永久配置环境变量的方法我试过,没成功,?!
安装完毕!如何知道成功没呢?往下看
运行一个例子咯!
我这里是如下:
cd ~
mkdir geant4_work
cp ~/geant4.10.05.p01/geant4.10.05.p01/examples/basic/B1 ~/geant4_work
cd ~/geant4_work
mkdir B1_build
cd ./B1_build
cmake -DGeant4_DIR=~/geant4.10.05.p01/geant4.10.5-install/lib/Geant4-10.5.1 $HOME/geant4_work/B1
等式后面的内容分为两部分,前面是geant4安装目录,这里需要geant4安装的Geant4Congfig.cmake文件来编译B1文件,因此先输入Geant4Congfig.cmake文件所在目录,后半部分是要编译的B1源文件所在目录,就是刚才复制到~/geant4_workdir目录下的B1文件,输入命令回车,这一步将源文件B1复制到了B1-build文件下,并创建了geant4头文件库可待编译源文件的连接,打开B1-build文件夹可以看到与B1源文件相同的文件
make -j16
./exampleB1
/run/beamOn 10
//发射10个粒子运行例程部分参考了 https://www.cnblogs.com/Star-Lee/p/7827646.html