armadillo 库加入项目中程序卡死不运行的问题

之前使用armadillo库一直正常,不知到从什么时候起,含有armadillo库的程序一运行就卡死,就是卡着不动,即使程序在main函数中直接return 0;也是卡死,灰常奇怪。而别人编译相同的程序一点问题都没有。vs2008和vs2010都试了,windows 7系统,即使是它的example程序也是相同的状况,调试也是卡死,真是让人郁闷。更让人费解的是,我把编译好的程序给别人是可以运行的!好吧,我不想重装系统。

后来尝试把blas_win32_MT.lib和lapack_win32_MT.lib库从项目中去掉,程序可以运行了,但是出现http://www.cnblogs.com/dabaopku/archive/2011/03/26/1996066.html 这个错误;这很正常,毕竟armadillo仅仅是一个壳,很多计算还是要交给lapack来做;可是我加了lapack后就出现上述卡死症状。lapack会和什么程序有冲突呢?真是奇了怪了。

无奈,我尝试去寻找lapack的source。有个 lapack for windows(http://icl.cs.utk.edu/lapack-for-windows/),居然要用intel compiler和mpi编译,算了,还是下载预编译好的东西吧。下载下来 blas.lib,libf2c.lib,lapack.lib,加到项目中就ok了。

坑爹的!

现在的编译时,预处理器还是需要ARMA_USE_LAPACK和ARMA_USE_BLAS,链接时附加依赖项是libf2c.lib,lapack.lib,blas.lib。当然也可以下载debug版本的,但编译时总是报pdb调试信息文件找不到的warning,甚是烦人,干脆用release版吧。

good luck!

posted on   大宝pku  阅读(595)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

< 2011年7月 >
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6
点击右上角即可分享
微信分享提示