cuda : error LNK2001 with visual studio 2017

Hello everyone,

For a projet, I use cuda. I add in Myproject → properties → C\C++ → General → add library: the address of the file which contain my files .lib : NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\x64.
And in Myproject → properties → linker → input → additional dependencies, I add every the files .lib which there is in NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\x64 to be sure.

The probleme and when I compile, I have the error message :
LNK1120 69 unresolved externals
LNK2001 unresolved external symbol "class CSF_cuda *__cdecl ObjectToDevice(class CSF_cuda *)
LNK2001 …

Do you know why I have this message because I do add the library.

thank you for your help

Have you considered the possibility that the missing symbols are in code that is not part of CUDA? The one symbol you have shown seems to be from this third-party project:


In your build you would have to add that third party code in either object file or library form (not sure which one is appropriate, I haven’t looked at the project).

thank you njuffa for your answer

yes ! this is my problem. I am working on this project. I don’t understand because pdflow_cudalib.h is just an header so I just have to add #include pdflow_cudalib.h in my cpp.

You propose to add pdflow_cudalib.h like an object file, but what does it mean ? How can I do this ?

I don’t use IDEs, don’t know your code, and haven’t dug through PDFLOW library source code. I am sure you can figure it out, by spending some quality time with your code base and the MSVS documentation.

it isn’t related to CUDA, so you better ask it on StackOverflow