0. ERS算法

xxx

1. 问题

原本ERS算法的作者提供了python接口,但是是基于Python2的,在python3.6中调用的话,会出现缺失DLL的错误,如下图:

2. 解决方案

作者提供了ERS算法的C语言源代码,所以基于Python3.6重新编译一下即可。

2.1 安装vs

我安装的是VS2017社区版。

等待安装完成。

2.2 解压boost

安装 boost 1.6.0,高的版本会出问题,有些接口被取消了。
直接下载二进制文件
https://dl.bintray.com/boostorg/release/1.64.0/binaries/
下载 boost_1_64_0-msvc-14.1-64.exe,运行。
我解压到了C:\local\盘根目录下。

打开vs2017带的开发人员工具。
cd /d C:\local\boost_1_64_0到boost目录下
执行bootstrap.bat,目录下会生成bjam.exe和b2.exe两个文件,都可以用于编译boost。

执行b2.exe开始编译。

编译成功。

2.3 准备python3.6环境

我用的Anaconda,下好了Python3.6的环境

2.4 编译

用VS2017 打开ERS源码中的工程文件

点击【确定】

开始配置包含目录。

配置库目录

点击编译,报错了

把返回值NULL删掉,再编译。