问答

cygwin下程序执行失败,提示0xc0000022.

作者:admin 2021-04-21 我要评论

我在cygwin上安装了petsc计算包,安装过程参考了petsc的安装文档。对示例的编译链接过程很顺利。但执行时没有信息输出直接退出。用gdb调试执行时提示: [New Thr...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

我在cygwin上安装了petsc计算包,安装过程参考了petsc的安装文档。对示例的编译链接过程很顺利。但执行时没有信息输出直接退出。用gdb调试执行时提示:
[New Thread 6108.0x286c]
[New Thread 6108.0x1dec]
[New Thread 6108.0x3d2c]
[Thread 6108.0x1bc0 exited with code 3221225506]
[Thread 6108.0x3d2c exited with code 3221225506]
[Thread 6108.0x286c exited with code 3221225506]
During startup program exited with code 0xc0000022.
用cmd窗口执行时提示:
应用程序无法正常启动(0xc0000022)。请单击“确定”关闭应用程序。
调试了很长时间都没成功,希望大神们可以指点一二。

###

没人回答,我自己回答吧。希望对后人有指导作用。这个问题主要是由lapack和blas库引起的。在cygwin上安装好(使用setup.exe)lapack和blas库后,要删除除cyglapack-0.dll和cygblas-0.dll之外的其他相关库(如liblapack.a libblas.a),配置petsc时要指定lapack和blas库名,如:--with-blas-lib=<YOUR_PATH>/cygblas-0.dll --with-lapack-lib=<YOUR_PATH>/cyglapack-0.dll。编译包含petsc的程序时,也要指定库名,如:-l:cyglapack-0.dll -l:cygblas-0.dll。执行程序时,要将-cyglapack-0.dll和cygblas-0.dll拷贝到程序所在目录。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • cygwin下程序执行失败,提示0xc0000022

    cygwin下程序执行失败,提示0xc0000022

  • 文件上传fileUpload,如何对空文件判断

    文件上传fileUpload,如何对空文件判断

  • 如何用正则匹配上述文本里除(1)的其他

    如何用正则匹配上述文本里除(1)的其他

  • python 字符串转数组

    python 字符串转数组

腾讯云代理商
海外云服务器