vs2010 编译 levmar 2.6,(Levenberg-Marquardt)
来源:互联网 发布:绿地控股历史价格数据 编辑:程序博客网 时间:2024/06/02 02:41
LM算法是非线性最小二乘解方程的最常用的算法。以前在稀疏区域网平差中见过,因此对LM很熟,自己编写的最小二乘算法不能很快的收敛(就是编程太菜了。。。。),决定采用LM的库,用VS2010编译了一把。
- 下载clapackLM库
- cmake生成vs工程
下载clapack,LM库
LM官网,下载 levmar-2.6
clapack库,解压后/LIB文件夹中有预先编译好的lib文件,最好自己打开vs工程编译生成lib文件。具体在这里
将libf2c.lib,tmglib.lib,BLAS.lib,clapack.lib 放在文件夹lib里面,libf2c.lib,改名为f2c.lib。
cmake生成vs工程
我使用预先编译好的lib文件,用camke配置vs工程,具体配置如下图:
红框里面是配置lib的路径,填写文件夹lib的路径。
打开生成的vs工程,配置lmdemo工程,在属性链接器的输入里面忽略特定默认库这一项填写libcmt.lib
到此配置完成,生成一把结果有错误,报错如下:
2>levmar.lib(misc.obj) : error LNK2019: 无法解析的外部符号 sgemm_,该符号在函数 slevmar_trans_mat_mat_mult 中被引用
2>levmar.lib(misc.obj) : error LNK2019: 无法解析的外部符号 dgemm_,该符号在函数 dlevmar_trans_mat_mat_mult 中被引用
2>D:\BA\ba_code\code_internet\LM_code\levmar-2.6\levmar-2.6\Release\lmdemo.exe : fatal error LNK1120: 2 个无法解析的外部命令
原先我以为是预先编译的lib有问题,自己编译了一遍还是同样的问题,后来发现需要#include “blaswrap.h”,在levmar工程中,打开misc.c文件,在最开始添加#include “blaswrap.h”,
在levmar工程的包含库目录里面包含clapack的 INCLUDE文件夹(在解压后的clapack库里面)
再生成一把,搞定。将Imdemo设为启动项目,运行成功。
- vs2010 编译 levmar 2.6,(Levenberg-Marquardt)
- Levenberg-Marquardt
- Levenberg-Marquardt
- A Brief Description of the Levenberg-Marquardt Algorithm Implemened by levmar
- Levenberg-Marquardt算法
- Levenberg–Marquardt algorithm
- Levenberg-Marquardt算法基础知识
- Levenberg-Marquardt(LM算法)
- Levenberg-Marquardt算法基础知识
- Levenberg-Marquardt Algorithm
- Levenberg–Marquardt算法
- Levenberg-Marquardt算法浅谈
- Levenberg-Marquardt算法浅谈
- Levenberg–Marquardt algorithm
- Levenberg-Marquardt方法
- Levenberg-Marquardt算法浅谈
- Levenberg-Marquardt(列文伯格-马夸尔特)算法
- 训练数据常用算法之Levenberg–Marquardt(LM)
- 238. Product of Array Except Self
- 编译QtE出现qbytearray.cpp:52:18: fatal error: zlib.h: No such file or directory
- 利用RFM模型做电商客户价值分析
- JavaScript深入理解之原型
- C++关键字(1)--const
- vs2010 编译 levmar 2.6,(Levenberg-Marquardt)
- 程序CPU使用率探讨
- 数据结构-----最大堆的实现
- android studio那些不为人知的秘密
- AngularJS封装$http.post()
- MFC中改变按钮颜色的方法
- FFmpeg和avconv编解码工具【转】
- scala中的this.type-这个问题好难懂
- HTTP学习笔记:HTTP首部字段(1)