由于在科学计算中经常会碰到大量的代码库需要编译,而这种编译过程往往并不是那么显而易见的。对于很多科研人员来说,这构成了使用上的一种瓶颈,很多人费时费力不得其门而入,甚至开始怀疑人生,少部分人折腾一番后不明所以的就搞定了,然而由于自己也折腾的很辛苦,往往不愿意或者没有精力把经验记录下来与大家分享。这种时候,就是本文得已出现的一种理由。本文作者恰恰有这方面的自由和闲情逸致来完成这样的工作,并乐于把结果和大家分享,起到一种抛砖引玉的作用,这也是一种收获。
对于CGNS4.0.0源代码来说,由于搞这些开源库的娃一般都是在linux环境下做,这些人往往对于windows下编程不是那么认真,他们的代码实际上并没有在windows环境下进行严格的考验,虽然没有什么大问题,但是小错不断。导致在windows下开发的研究人员不能很好的使用这些成果。
CGNSTools要在windows下面编译通过必须对这些错误进行修正(小错,至少本文作者目前认为是如此,具体原因也不深究,毕竟不是自己写的,能改过来运行即可)。
下面具体阐述编译过程:
使用CMake操作界面,选择CGNS_BUILD_CGNSTOOLS,
CGNS_ENALE_64BIT,CGNS_ENABLE_HDF5,CGNS_USE_SHARED
点击Configure后有:
再次点击Configure后有:
再次点击Configure,并点击后Generate有:
说明工程项目生成成功。
下面在系统管理员权限下打开集成开发环境vs2019,有:
可见工程都已经配置完毕。
如果这时直接编译会出问题。
类似上面这种错误。
出现这几个问题的地方在calwish,cgiwish,plotwish,tkogl这几个项目中。
改正的方式是:将tkogl中出现的类似部分
改为
将calwish,cgiwish,plotwish中的winmain.c中的
改为:
问题得到解决。
选择构建INSTALL有:
这样,在Win10+VS2019+HDF5下CGNS4.0.0源码编译CGNSTOOLS完毕。
编译后运行Cgnsview界面如下:
这样有助于和自己代码读取一些CGNS格式的文件进行比较,少走一些弯路。
这个后来有人问起,是不是需要其它库,答案是需要的,tcltk库,我觉得是常规操作就没提了。要去下载tcltk,本文为了方便,使用的是ActiveTcl,一下子就两个库同时搞定。
Download and Install Tcl: ActiveTcl | ActiveStatewww.activestate.com本文下载的是ActiveTcl8.6,安装后效果:
这么看来,再简单的问题,对于初学者来说都可能是一个障碍,如临深渊,如履薄冰。
如果此文节省了你的时间,不要忘了点赞,赞赏,及其它。