I was working so far with a trial version of VS pro and it was all good.
The trial is now done and I tried to move to VS community. This did not moved smoothly.
The same project that once worked stopped working…
long story short, after some struggle I get this error:
nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
I saw a few posts on this error over the internet however all of them talked about cmake and not VS.
any tip of how can i solve this?
PS: not sure if it helps, but I’m able to run the sdk examples projects : AppDec and AppDecD3D, and AppDecGL (on which my private project is based on).
Thanks for the replay. I was thinking the same, but I revert my code to the place it was just before I switched between pro and community and in which I know it used to work at that point. I even tried comparing both my project line and AppDecGL line in which ColorSpace.cu is being compile and could find no real difference.
the line that fails as far as i can see is:
$(Project_LOCATION)\TestApp\TestApp>“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe” -gencode=arch=compute_30,code="sm_30,compute_30" --use-local-env -Xcompiler /wd4819 -ccbin “C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64” -x cu -I$(Project_LOCATION)\PC\Internal\include -I$(Project_LOCATION)\PC\Internal\common -I$(Project_LOCATION)\PC\External -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -g -DWIN32 -DFREEGLUT_STATIC -DGLEW_STATIC -D_DEBUG -D_CONSOLE -D_LIB -D_CRT_SECURE_NO_WARNINGS -D_UNICODE -DUNICODE -Xcompiler “/EHsc /W3 /nologo /Od /Fd”$(Project_LOCATION)\TestApp\x64.Debug\TestApp\vc141.pdb" /FS /Zi /RTC1 /MDd " -o “$(Project_LOCATION)\TestApp\x64.Debug\TestApp\ColorSpace.cu.obj” “$(Project_LOCATION)\External\nvidia\Utils\ColorSpace.cu”
*$(Project_LOCATION) : is just me editing the line to be a bit more readable.
It is probably something really trivial that i miss, but I’m really new to cuda and it doesn’t make much sense to me.
I see at least 2 problems in the command line, but it’s not possible to identify exactly which project settings are causing them. This is sort of the difficulty with a tool like Visual Studio which includes a substantial obfuscation layer between the programmer and the compile command line generation.
if your Project_LOCATION contains any spaces in it, that will create problems without surrounding quotes on the overall switches that use those
My Project_location indeed had space in it, seems like after the reinstall of VS I used the wrong shortcut that had a space in it :\ now that i use the path without the space it seems to work fine.