zhj 2019.07.14 Make Cmkae Lapack3.8 ELSDc算法
注:如果已经有lapack编译后的文件,那么只需要安装MinGW然后将lapack bin和lib目录下的文件拷贝到MinGW中去,无需再对lapack进行编译.
windows10上运行ELSDc算法.需要:
1.make命令.
2.线性库lapack(需要cmake工具).
具体配置步骤:
1.make命令
安装MinGW(mingw-get-setup.exe)
参考blog
https://blog.csdn.net/fuyanhuangyan/article/details/78671042
https://blog.csdn.net/nicholas_liu2017/article/details/78323391
打开mingw-get-setup.exe安装程序.默认选项直到
安装选项可以全部勾选(或者只勾选mingw-base,mingw-gcc-fortran,mingw-gcc-g++).
菜单栏installation—apply changes.
在环境变量-系统变量-path中添加 XXX\MinGW\bin
最后将XXX\MinGW\binmingw32-make.exe 复制一份,并将复制文件改名为make.exe.
注:这里要保留原文件,不然后续cmake会出错.
2.lapack
(1)编译需要cmake工具
使用的是lapack-3.8.0与cmake-3.15.0
参考blog
https://www.jianshu.com/p/6fb9ec8a0b98
直接打开cmake-3.15.0-rc4-win64-x64.msi文件安装,安装过程中勾选,之后就不用自己加环境变量了.
(2)lapack编译
打开Cmake-gui(cmake的图形界面)
勾中Grouped以及Advanced两个选项
配置两个文件目录
where if the source code: 源文件所在目录(makefile所在目录)
where to build the binaries:新建一个目录,存放编译后的文件(后面称为build目录)
点击Configure,在Specify the generator for this project 下拉项选MinGW Makefiles,选项组选"Specify native compilers",点击next,选择c和fortran编译器在你机器的路径,我的是"C:/MinGW/bin/mingw32-gcc.exe","C:/MinGW/bin/mingw32-gfortan.exe"
选中BUILD的 'BUILD_SHARED_LIBS' 、 CMAKE中的'CMAKE_GNUtoMS' 和在Ungrouped Entries中选中'LAPACKE'。再点一次Configure,除第一行CMAKE外红色警告都消失了。
点击Generate。出现Configuring done和Generating done 提示时,说明编译完成。
使用命令行cd进入之前设置的Build的目录,执行make命令,开始编译程序(大约20多分钟).
........................................
编译完成后,
将bulid目录下的\lib 中的所有文件 复制到 ..\MinGW\lib
将bulid目录下的\bin 中的所有文件 复制到 ..\MinGW\bin
3.ELSDc算法的使用
命令行中用cd进入elsdc算法的makefile所在目录, 使用make命令编译得到elsdc.exe文件,然后运行 elsdc target.pgm得到输出文件.
output.svg:检测结果可视化.
out_ellipse.txt:检测结果.格式为:
(椭)圆起点终点:x1,y1,x2,y2.
(椭)圆中点:cx,cy.
(椭)圆长轴ax,(椭)圆短轴bx.
(椭)圆的角度theta.
(椭)圆起始角度angle_start,(椭)圆终止角度angle_end.