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!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架