解决的办法是——绕过去,不要用这个库:

使用中发现如下代码抛出异常:

  //vpTemplateTracker.cpp
try {
initHessienDesired(I);
ptTemplateSuppPyr[0] = ptTemplateSupp;
ptTemplateCompoPyr[0] = ptTemplateCompo;
HdesirePyr[0] = Hdesire;
HLMdesirePyr[0] = HLMdesire;
HLMdesireInversePyr[0] = HLMdesireInverse;
} catch (const vpException &e) {
ptTemplateSuppPyr[0] = ptTemplateSupp;
ptTemplateCompoPyr[0] = ptTemplateCompo;
HdesirePyr[0] = Hdesire;
HLMdesirePyr[0] = HLMdesire;
HLMdesireInversePyr[0] = HLMdesireInverse;
throw(e);
}  

调用栈是:

#5  0x00007ffff7b33b93 in __cxa_throw () from /lib64/libstdc++.so.6
#6 0x0000000000416b80 in vpTemplateTracker::initHessienDesiredPyr (this=0x7fffffffd470, I=...)
at /data/ahfu/visp/modules/tracker/tt/src/vpTemplateTracker.cpp:756
#7 0x0000000000416603 in vpTemplateTracker::initFromPoints (this=0x7fffffffd470, I=..., v_ip=...,
delaunay=false) at /data/ahfu/visp/modules/tracker/tt/src/vpTemplateTracker.cpp:704
#8 0x0000000000406a47 in main (argc=1, argv=0x7fffffffe358) at test.cpp:148  

不太清楚究竟为何抛异常,于是注释掉try catch,重新编译链接执行。

看到了如下异常信息:

#5  0x00007ffff7b33b93 in __cxa_throw () from /lib64/libstdc++.so.6
#6 0x00000000004519b9 in vpMatrix::inverseByLULapack (this=0x7fffffffc390)
at /data/ahfu/visp/modules/core/src/math/matrix/vpMatrix_lu.cpp:385
#7 0x00000000004514ff in vpMatrix::inverseByLU (this=0x7fffffffc390)
at /data/ahfu/visp/modules/core/src/math/matrix/vpMatrix_lu.cpp:133
#8 0x000000000040d477 in vpTemplateTrackerSSDInverseCompositional::initCompInverse (
this=0x7fffffffd470)
at /data/ahfu/visp/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDInverseCompositional.cpp:79
#9 0x000000000040d7c3 in vpTemplateTrackerSSDInverseCompositional::initHessienDesired (
this=0x7fffffffd470, I=...)
at /data/ahfu/visp/modules/tracker/tt/src/ssd/vpTemplateTrackerSSDInverseCompositional.cpp:103
#10 0x00000000004167b1 in vpTemplateTracker::initHessienDesiredPyr (this=0x7fffffffd470, I=...)
at /data/ahfu/visp/modules/tracker/tt/src/vpTemplateTracker.cpp:744
#11 0x0000000000416603 in vpTemplateTracker::initFromPoints (this=0x7fffffffd470, I=..., v_ip=...,
delaunay=false) at /data/ahfu/visp/modules/tracker/tt/src/vpTemplateTracker.cpp:704
#12 0x0000000000406a47 in main (argc=1, argv=0x7fffffffe358) at test.cpp:148  

更换了最新的lapack库,仍然无法解决。

查看visp/modules/core/src/math/matrix/vpMatrix_lu.cpp 发现了这样的注释:

    111   std::cout << "Inverse by LU ";
112 #if defined(VISP_HAVE_LAPACK)
113 std::cout << "(using Lapack)";
114 #elif defined(VISP_HAVE_EIGEN3)
115 std::cout << "(using Eigen3)";
116 #elif (VISP_HAVE_OPENCV_VERSION >= 0x020101)
117 std::cout << "(using OpenCV)";
118 #elif defined (VISP_HAVE_GSL)
119 std::cout << "(using GSL)";
120 #endif  

说明编译选项可以选择不同的库。

于是:

cd /data/ahfu/visp/

mkdir build

cd build

ccmake ..  #在界面中把 WITH_LAPACK设置为OFF

cmake ..

make -j

make install

重新编译测试程序运行,一切正常。

visp库中解决lapack库的问题的更多相关文章

  1. 搜索maven的库中某个支持库的的最新版本

    首先放网址(建议挂个vpn): maven库中心:http://search.maven.org/ jcenter库中心:https://bintray.com/bintray/jcenter 接下来 ...

  2. gdal库中设置prj4库全路径的用法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 gdal库实现投影转换之类的功能实际上底层都是调用prj4库的功能.如果gdal使用非静态的方式集成prj4库,实际上 ...

  3. (转)本地搭建环境wamp下提示不支持GD库的解决方法

    转自:http://www.zzdp.net/local-wamp-gd GD库是什么?GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片. ...

  4. .h头文件 .lib库文件 .dll动态库文件之间的关系

    .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够 ...

  5. Mysql根据一个基库生成其他库与其不同的库升级脚本

    今天研究了一下不同数据库之间如何做同步.弄了一个升级工具类,希望以后还能有所帮助. public class UpgradeDataBase { public static void main(Str ...

  6. Arduino下LCD1602综合探究(下)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法

    一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduin ...

  7. 关于pycharm中安装第三方库时报错的解决办法(一)

    记录自己的生活!   一.事发背景 在pycharm中直接安装第三方库时因为版本问题总是无法安装成功,事情不大,但是很重要.   二.经过 最开始我自己电脑上安装了Python3.6和Python2. ...

  8. 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】

    [Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交 ...

  9. OpenCV在ARM-linux上的移植过程遇到的问题3---共享库中嵌套库居然带路径【未解决】

    [Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题3-共享库中嵌套库居然带路径[未解决] 标签(空格分隔): [Linux开发] 移植opencv到tq2440 一.下载open ...

随机推荐

  1. OSS上传文件到阿里云

    最近做项目,需要上传文件,因为上传到项目路径下,感觉有时候也挺不方便的,就试了一下上传文件到阿里云oss上去了, oss的使用网上有很多介绍,都是去配置一下需要的数据,然后直接调用他的api就可以了. ...

  2. IDEA 安装配置可视化 MongDB 插件

    IDEA 安装配置可视化 MongDB 插件 1.安装MongoDB插件 打开 IDEA ,file --> settings --> plugins,在右边搜索栏中输入Mongo,点击 ...

  3. 升级Mac OS X上的git

    今天一打开visual studio code就提示我git版本low,需要升级,然后提供了一个下载链接(git官方下载地址:https://git-scm.com/),然后我就根据链接去下载了mac ...

  4. 太嚣张了!他竟用Python绕过了“验证码”

    在web页面中,经常会遇到验证码,这对于我这么一个热爱web自动化测试人员,就变成了一件头疼的事.于是千方百计找各种资源得到破解简单的验证码方法. 识别验证码 大致分如下几个步骤: 1.获取验证码图片 ...

  5. mysqlbinlog 工具分析binlog日志

    MySQL的binlog 日志对于生产环境非常有用,任何时间对数据库的修改都会记录在binglog中:当数据发生增删改,创建数据库对象都会记录到binlog中,数据库的复制也是基于binlog进行同步 ...

  6. vue(3)—— vue的全局组件、局部组件

    组件 vue有局部组件和全局组件,这个组件后期用的会比较多,也是非常重要的 局部组件 template与components属性结合使用挂载 其中 Vmain.Vheader.Vleft.Vconte ...

  7. from语法导入

    """# 在执行文件中能不能直接使用模块中的名字 # import m1# import m1 as m# print(m1.a)# print(m1.b)# print ...

  8. 数据结构学习之字符串匹配算法(BF||KMP)

    数据结构学习之字符串匹配算法(BF||KMP) 0x1 实验目的 ​ 通过实验深入了解字符串常用的匹配算法(BF暴力匹配.KMP.优化KMP算法)思想. 0x2 实验要求 ​ 编写出BF暴力匹配.KM ...

  9. 一脸懵逼学习Storm---(一个开源的分布式实时计算系统)

    Storm的官方网址:http://storm.apache.org/index.html 1:什么是Storm? Storm是一个开源的分布式实时计算系统,可以简单.可靠的处理大量的数据流.被称作“ ...

  10. ASP.NET Core 搭配 Nginx 的真实IP问题

    一.前言 Nginx(Engine X)是一个高性能HTTP和反向代理服务,是由俄罗斯人伊戈尔·赛索耶夫为访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发 ...