您的位置:首页 > 编程语言 > Qt开发

Win10 64位系统下VS2015编译Geant4 10.2 + QT 5.6的过程小结(转载自天涯沦落人的新浪博客)

2018-01-05 21:01 459 查看
写在前头:首先感谢天涯沦落人大神,指点很有用,不过不知道为啥你发的新浪博客图片老是挂掉,为了方便,我趁着图片正常的时候转载到了自己的博客里以备查询,如果介意可随时留言让我删掉


基本软件:CMake 3.4.1、GEANT4 10.2、QT 5.6 beta(此版本开始提供VS2015的二进制预编译包)、VS 2015


预备工作​


GEANT4 Release 10.2这个版本在Win下有个小bug,需要如下修改,否则编译出来的例子会报G4interfaces.dll错误:

​源码 /source/interfaces/basic/src/G4UIQt.cc 的196行(masterG4coutDestination = this;)注释掉。


(1)32位编译方法

QT安装32位版本:qt-opensource-windows-x86-msvc2015-5.6.0-beta.exe

启动CMake-GUI,编译器选择VS2015 32位版本。参考下图设置:(关键是勾选QT后,需要Add Entry,添加一个CMAKE_PREFIX_PATH项,类型PATH,值为QT 5.6安装目录,目录指定到msvc2015这一层)​



CMake的选项设置

​configure和generate都很成功。

然后转到build目录下,运行Geant4.sln,开始漫长的编译工作了~

​编译成功后,要运行例子的话,需要先更改一些代码:

上面Geant4的build目录下的​Geant4Config.cmake文件修改如下:

注释掉 find_package(Qt4 REQUIRED)​ 这一行,因为我们用的Qt5,不需要Qt4。

​接下来就编译例子B2a,如图:



然后编译,设置各种DATA相关的环境变量,成功后运行可以看到界面:



例子B2a的QT5前端界面示例



(2)64位编译方法

64位编译时,QT也要安装相应的64位版本(文件名带_64的那个二进制包,qt-opensource-windows-x86-msvc2015_64-5.6.0-beta.exe)。

启动CMake-GUI,编译器选择VS2015 64位版本。参考下图设置:



CMake
64位编译设置

64位编译时会出现大量MSB6006错误,方法Google一下后发现需要修改​ C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets 文件,记得先备份。修改内容为去掉<CustomBuild 到 </CustomBuild>的这部分代码。

其它部分参考32位编译方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt5 cmake geant4 vs2015