Hi everyone,
I've tried building ceres version 2.2.0 in MSVC with CUDA support. When trying to build ceres_cuda_kernels, the following error comes up and I can't seem to resolve it.
nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
The error statement from Visual Studio, including the call to nvcc is as follows:
MSB3721
The call to ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin\nvcc.exe" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64" -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static /wd4018 /wd4267 /wd4099 /wd4996 /wd4800 /wd4244 /wd4251 /bigobj -std=c++17 -Xcompiler="/EHsc -Ob2" -D_WINDOWS -DNDEBUG -D_USE_MATH_DEFINES -D_VARIADIC_MAX=10 -DNOMINMAX -D"CERES_SUITESPARSE_VERSION=\"5.8.0\"" -D"CERES_METIS_VERSION=\"5.1.0\"" -D"CMAKE_INTDIR=\"Release\"" -Dceres_cuda_kernels_EXPORTS -D_WINDLL -D_MBCS -D"CMAKE_INTDIR=\"Release\"" -Dceres_cuda_kernels_EXPORTS -Xcompiler "/EHsc /W3 /nologo /O2 /Fdceres_cuda_kernels.dir\Release\vc142.pdb /FS /MD /GR" -o ceres_cuda_kernels.dir\Release\cuda_kernels.cu.obj "D:\Libs\ceres-solver\internal\ceres\
cuda_kernels.cu.cc"" finished with code 1.
In the Nvidia forum, the error is pointed towards a blank space in an output file which would
cause
nvcc to interpret it as separate files. However, I don't see that issue applying here and would like to ask if anyone has similar experience under Visual Studio?
Any help is highly appreciated
Robin