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

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

  //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. JVM的总结

    1.JVM的内存模型 JVM主要由程序计数器,虚拟机栈,堆,方法区,本地方法区 1.程序计数器的功能是记录当前线程执行到了字节码文件的哪一行, JVM执行的是.java编译后的.class文件 2.虚 ...

  2. windows如何安装memcached

    官网上并未提供 Memcached 的 Windows 平台安装包,我们可以使用以下链接来下载,你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可: 32位系统 1.2.5版本:http:/ ...

  3. vue学习记录③(路由)

    上篇文章我们用vue-cli脚手架工具做了个简单的hello world页面,但是我们破坏了原来的流程,而正常的访问页面应该是通过路由来实现的. 那么什么是路由呢? 路由就是通过不同的url来访问不同 ...

  4. Sharepoint 2013搜索服务配置总结(实战)

    分享人:广州华软 星尘 一. 前言 SharePoint 2013集成了Fast搜索,相对于以前版本搜索的配置有了一些改变,在安装部署Sharepoint 2013时可以选择默认创建搜索服务,但有时候 ...

  5. LEDE 虚拟机安装

    虽然我对路由器没什么兴趣,但是紧跟潮流还是有必要的,现在因为网络闭关锁国政策,很多人都想自己搭配一台私人的服务器,不想被商业公司左右数据安全.我感觉这个是一个商机,建议大家可以朝这个方向发展. 这里最 ...

  6. 服务器部署Apache+PHP+MYSQL+Laravel

    1.安装PHP 添加php安装源: sudo apt-get install python-software-properties sudo add-apt-repository ppa:ondrej ...

  7. Diagnostics: File file:/tmp/spark-95cbb984-da28-4784-8b99-eb83ad74437f/__spark_libs__1421840316395076250.zip does not exist

    搭建spark环境,测试在yarn 上运行spark shell的时候出现的错误:Diagnostics: File file:/tmp/spark-95cbb984-da28-4784-8b99-e ...

  8. C#基础知识之IOC

    依赖注入:http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html IOC:https://jinnianshilongnian.i ...

  9. 数据库【mongodb篇】基本命令学习笔记

    MongoDB基本命令用 MongoDB基本命令用   成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs ...

  10. Storm入门(五)Twitter Storm如何保证消息不丢失

    转自:http://xumingming.sinaapp.com/127/twitter-storm如何保证消息不丢失/ storm保证从spout发出的每个tuple都会被完全处理.这篇文章介绍st ...