Qt CUDA混合编程BUG(二)


问题描述(一)

  QT引用外部库,debug、release均编译通过,但是运行程序时失败,报错提示为:程序异常结束,The process was ended forcefully.

21:44:21: 程序异常结束。 21:44:21: The process was ended forcefully.

原因分析:

  调用外部的dll文件失败,因此要将对应的dll添加进debug文件夹中。

解决方案:

  如何找到对应的调用失败的dll文件,在QT运行代码后会bulid相应的文件,在该bulid文件夹下,找到debug文件夹,在其中找到项目生成的exe文件,直接点击运行,根据提示找的缺少的dll,将其复制到debug文件夹下即可。

问题描述(二)

  解决问题以后,运行代码依旧异常结束,但是运行exe文件时不提示缺少dll

21:44:21: 程序异常结束。 21:44:21: The process was ended forcefully.

原因分析:

  在.pro中配置存在小问题,这种问题只能大家根据自己代码的情况一点点排查,我的问题是重复添加了ucrt这个库文件。

1 CUDA_LIB_NAMES += cublas \ 2 cuda \ 3 ucrt\ 4 odbccp32 \ 5 MSVCRT \ 6 7 # debug and release need different ucrt lib 8 CONFIG(debug, debug|release) 11 else

解决方案:

  由于在debug时使用的是ucrtd文件,但是ucrt被我之前加入到LIBS中了,因此将前面的ucrt\删除即可



上一篇:OpenCV 配置CUDA

下一篇:CLion 入门教程


Qt CUDA
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图