安装Burn-P3过程种的一些问题

经过描述

Burn-P3是一款专业软件,用于森林火灾的管理和预测,由加拿大的森林管理部门研发,可以免费下载。这是我安装过程种的遇到问题的一个简要描述,没有进行截图等细致的介绍。因为这个软件毕竟是非常小众的,估计不会有什么人要用。所以我只是简要记录了一下。

安装过程是按照其主页上的要求,所有安装都是默认的安装,安装到默认的位置。

先安装了一些预先要求软件,例如java, .NET Framework, 2019 C++ Redistributable等。这些预先要求,安装过程会测试,如果不达到要求,会有提示。

Burn-P3依赖于另外一个软件Prometheus,所以要先装这个Prometheus。这个装好以后,没有什么问题,能顺利打开。

第一次安装Burn-P3过程也没有问题,但是打不开。说是找不到libexpat.dll, gdal203.dll. 在网上到处找了这两个dll,然后gdal203.dll可能没有问题了,但是libexpat.dll总是有问题,说是找不到入口点。试着将gdal203.dll拷贝到system32目录,syswow64目录,还试着进行了注册,试了重启等。都没有效果。折腾了一个晚上,无果。很郁闷。

第二天晚上,又试了试。先卸载Burn-P3,然后重新安装。安装的时候,有一个选项,前一天是选择了只为当前用户安装。这回我就试了试,选择了为电脑所有用户进行安装。安装后,运行Burn-P3。还是不能起来,但是症状不一样了。这回出来两个报错“无法定位序数4445于动态链接库libcurl.dll”,和“无法定位序数3906(这个数字不确定)于动态链接库ssleay32.dll”。上网搜了搜,按照一些解决思路我将“libcurl.dll 和 ssleay32.dll”从C:\Program Files\Prometheus 目录下拷贝到了system32目录,不行,拷贝到syswow64目录下,也不行。

最后,我将这两个文件拷贝到Burn-P3的目录下,还是不行。都是这种无法定位序数的错误。最后,我想也许要替代这两个文件。我刚好工作中有自己编译的libcurl.dll文件,我就将这个文件去替换了Burn-P3目录里面的libcurl.dll,这时候Burn-P3就能起来了。ssleay32.dll文件没有进行替换,也没有问题。
此处重述一下最后的解决:我将“libcurl.dll 和 ssleay32.dll”从C:\Program Files\Prometheus 目录拷贝到了Burn-P3目录下,然后找了一个自己的libcurl.dll替代了这个目录里面的libcurl.dll。这些就进一步让人思考比如ssleay32.dll是不需要替换的等等,所有又继续进行了一些测试。 结果发现,只需要将自己的libcurl.dll去替代C:\Program Files\Prometheus 目录下的libcurl.dll就可以了

上面两处黑体highlighted是最后的解决方案。小小的问题,让人折腾了两个晚上。很郁闷,但最终能解决,特别是在国庆假期刚开始的第一天就解决了,还是让人很开心。另外,我目前只是说软件都能正常起来,至于说运行过程中会不会有问题,目前尚未测试。

上一篇:Leetcode 4. 寻找两个正序数组的中位数-困难(带图)


下一篇:CCF CSP201612-1中间数(c++100)