[原]用IDL的analyst模块(IMSL函数)时的导出问题分析和解决_IDL -*->...

来源:百度文库 编辑:神马文学网 时间:2024/04/29 22:59:07

晚上网上遇见ZHF兄,居然开始整理IMSL数学库,真是佩服。一人辛苦,大家受益啊。

ZHF也顺道告诉说有一个问题:用了analyst模块(IMSL开头的数学函数),发布以后运行不了。很是奇怪哦。IDL71发布已经很成熟。赶紧测试了一下,果然有问题,如图:

解决过程:

1 第一感觉,DLM加载失败,莫非IMSL模块的DLM文件没有导出或者是某个DLL库没导出,直接把安装目录下的bin目录覆盖导出目录的bin。

结果还是有错误。看来不是这个问题。

2 也有可能加载IMSL的DLM需要以下配置文件。把help、resource、lib。。。等目录都覆盖一遍还是不行。看来也不是这种问题。

3 用安装的IDL虚拟机运行打包的sav没问题。直接运行exe就有问题。用导出目录里的虚拟机运行也有问题。因为导出目录都被我用安装目录下的文件覆盖过,虚拟机肯定是正常的,因为和安装目录都一样。这样就可以得出结论不是IDL本身有问题。

那这样只有一种可能是license方面有问题,很有可能这个IMSL模块不支持license嵌入式发布。结果我直接扔了一个license到导出的IDL71目录。终于程序正常运行了。

--------------------------------------------------------------------

最后ZHF也告诉我IDL64导出,根目录下放一个license文件,可以正常运行了。

在IDL导出经常会遇到很多问题,其实一种可能就是用打包程序时用嵌入式license,不能正常运行。就是因为有些IDL版本和模块不支持。不知道算不算bug。这样情况一般在根目录放个license文件就可以解决。

----------------------------------------------------------------------

其实这个问题本身没有太多价值,这里描述一下解决问题过程和思路。对IDL导出问题解决是个参考。在IDL各个版本的导出时,可能或多或少会有点问题。