cuda编译时报错:
LNK2001 无法解析的外部符号 cuGetErrorName
- bool check_driver(CUresult e, const char* call, int line, const char *file) {
- if (e != CUDA_SUCCESS) {
-
- const char* message = nullptr;
- const char* name = nullptr;
- cuGetErrorString(e, &message);
- cuGetErrorName(e, &name);
- INFOE("CUDA Driver error %s # %s, code = %s [ %d ] in file %s:%d", call, message, name, e, file, line);
- return false;
- }
- return true;
- }
原因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了。
可以用二分法,找到具体依赖哪个库。