LNK2001 无法解析的外部符号 cuGetErrorName解决

举报
风吹稻花香 发表于 2022/08/06 23:29:09 2022/08/06
【摘要】 cuda编译时报错: LNK2001    无法解析的外部符号 cuGetErrorName bool check_driver(CUresult e, const char* call, int line, const char *file) { if (e != CUDA_...

cuda编译时报错:

LNK2001    无法解析的外部符号 cuGetErrorName


  
  1. bool check_driver(CUresult e, const char* call, int line, const char *file) {
  2. if (e != CUDA_SUCCESS) {
  3. const char* message = nullptr;
  4. const char* name = nullptr;
  5. cuGetErrorString(e, &message);
  6. cuGetErrorName(e, &name);
  7. INFOE("CUDA Driver error %s # %s, code = %s [ %d ] in file %s:%d", call, message, name, e, file, line);
  8. return false;
  9. }
  10. return true;
  11. }

原因1:

把代码用notepad++ 改为windows格式,或者unix格式。

原因2:

到目录下:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64

cmd中执行 dir,列出如下库:

cublas.lib
cublasLt.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
cudnn.lib
cudnn64_8.lib
cudnn_adv_infer.lib
cudnn_adv_infer64_8.lib
cudnn_adv_train.lib
cudnn_adv_train64_8.lib
cudnn_cnn_infer.lib
cudnn_cnn_infer64_8.lib
cudnn_cnn_train.lib
cudnn_cnn_train64_8.lib
cudnn_ops_infer.lib
cudnn_ops_infer64_8.lib
cudnn_ops_train.lib
cudnn_ops_train64_8.lib
cufft.lib
cufftw.lib
curand.lib
cusolver.lib
cusolverMg.lib
cusparse.lib
nppc.lib
nppial.lib
nppicc.lib
nppidei.lib
nppif.lib
nppig.lib
nppim.lib
nppist.lib
nppisu.lib
nppitc.lib
npps.lib
nvblas.lib
nvjpeg.lib
nvml.lib
nvrtc.lib
OpenCL.lib

把依赖项全部添加到链接库中,报错ok了。

可以用二分法,找到具体依赖哪个库。

文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/126188761

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。