cudnn.lib not containing the necessary functions?

I’ve gotten 64-bit CUDA to run starting from a blank project in VS2013. I can’t seem to get cuDNN working though.

The cuDNN zip contains: cudnn.h, cudnn.lib, cudnn64_65.lib, cudnn64_65.dll

cudnn.h -> main CUDA includes directory
cudnn.lib, cudnn64_65.lib -> main CUDA lib/x64 directory (also tried Win32)
cudnn64_65.dll -> main CUDA bin directory

cudnn.lib is in the additional dependencies. I get the unresolved external errors for any functions in cudnn.h. The compiler recognizes cudnn.lib in the additional dependencies, but I still get the unresolved externals. The CUDA compiler is set to use that library as well. Adding it to a sample project gives the same error. Anyone know what’s going on? I’ve tried getting it running in an x64 project to see if they’re 64-bit specific libraries, but failed to get nvcc to run then.

Example error:
error LNK2019: unresolved external symbol _cudnnCreate@4 referenced in function _main

I fixed the problem. I apologize to anyone that has a similar problem, but I’m not actually sure what I did to fix it. I managed to get it working with just nvcc, so knew that it was something in visual studio.

After reinstalling both Visual Studio and CUDA several times, nvcc works on x64 now. Not sure why it took several times, but it did. You need to set your platform to x64 in the configuration properties (and change all visual studio library directories from x86 to x64), and then it reads in the cudnn library fine. Also it does use cudnn64_65.dll, so make sure it’s there. That’s all I know for sure. The rest was reinstall magic.