win10编译McCAD插件

McCAD是一款依赖于OpenCASCADE环境的MCNP代码编写辅助插件,其官方仓库为:https://github.com/inr-kit/McCAD-Library。先前在Ubuntu18.04里编译遇到段错误https://github.com/inr-kit/McCAD-Library/issues/8,试过issue里的方法,但未解决。此博客主要参考官方提供的使用手册,记录在win10里的编译过程,排除一些容易踩坑的地方。

1. 编译工具

可选CMakeMicrosoft Visual Studio,建议选择Visual Studio。此教程使用的是Visual Studio 2022 Community。注意此处有一个踩坑点,不用严格按照手册中的操作选择Windows 10 SDK,保持VS2022的安装引导程序中默认选择的SDK即可(比如此处默认Windows 11 SDK),如下图所示,否则后面编译时会遇到报错:No CMAKE_CXX_COMPLIER could be found。其余操作步骤按照手册进行。

2. Boost C++ 库

此部分按照手册操作,下载解压即可。boost下载链接:https://www.boost.org/users/download/ ,此下载链接默认为最新版,之前的版本可在此处https://sourceforge.net/projects/boost/files/boost/下载。

3. 下载安装Open CASCADE

此部分同样按照手册操作,下载解压即可。opencascade-7.7.0-vc14-64.exe下载链接:https://dev.opencascade.org/release

注意此处的坑为:添加环境变量一定要在系统变量下添加,在用户变量下添加会报错找不到TKCAF.dll等一系列文件。

4. 编译McCAD

McCAD源码下载链接:https://github.com/inr-kit/McCAD-Library

按找手册操作进行。注意修改CMake参数,将DBOOST CUSTOM ROOT=DOCC CUSTOM ROOT修改为自己的路径。另外注意不要点到保存到JSON的选项。编译成功后将McCAD-Library/build/bin 的完整路径添加到系统环境变量中。

若出现报错error LNK2001: 无法解析的外部符号 "void __cdecl boost::throw_exception(class std::exception const &)",则在CMakeLists.txt中加入一行set(CMAKE_CXX_FLAGS "/EHsc ${CMAKE_CXX_FLAGS}")。如下图

附编译好的McCAD插件下载链接:

链接:https://pan.baidu.com/s/1xSErydp7XqGDc0YYM12FNg?pwd=eeey
提取码:eeey

5. 运行 McCAD

在命令行窗口运行McCAD可在当前路径下创建默认配置文件McCADInputConfig.i ,证明环境搭建成功。

McCAD-Library\examples\collection_of_solids下的示例代码中将SS_-793e-2.stpMcCADInputConfig.i两个文件拷贝到自己的工作空间,在工作空间下执行命令McCAD run,生成6个新的文件,每个文件大致含义如下:

McCADInputConfig.i   M从CAD插件运行所需的配置文件
SS_-793e-2.stp       输入文件

SS -793e-2Volumes.i  输入文件中的实体和名称
SS_-793e-2Decomposed.stp        由插件从输入STEP文件中分解得到的实体
SS_-793e-2DecomposedVolumes.i   由插件从输入STEP文件中分解得到的实体和名称

volumes.i    从输入STEP文件中转换出的MCNP中的栅元(cell)的编号和名称
voidCells.i  从输入STEP文件中转换出的MCNP中的空白区域编号和名称

MC-File.i    由插件转换生成的MCNP输入文件


附MCNP5可视化软件中显示的图:

6. 参考

McCAD官方手册
VS2022 No CMAKE_CXX_COMPLIER could be found
VS2017+OpenCASCADE+MFC +win10下载配置安装运行
win10安装OpenCasCade并绘图测试
BOOST应用 无法解析的外部符号

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值