Errors when using nvcc

I use visual studio community version 15.9.12 with CUDA 10.1. And when i use nvcc to compile a .cu file a lot of errors happen, they are not like code errors.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcruntime_new_debug.h(23): error: first parameter of allocation function must be of type “size_t”

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcruntime_new_debug.h(31): error: first parameter of allocation function must be of type “size_t”

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template “std::_Is_function” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template “std::_Is_memfunptr” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(1849): error: class template “std::result_of” has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\type_traits(1849): error: class template “std::result_of” has already been defined

c:\program files\nvidia gpu computing toolkit\cuda\v10.1\include\crt/common_functions.h(117): error: first parameter of allocation function must be of type “size_t”

c:\program files\nvidia gpu computing toolkit\cuda\v10.1\include\crt/common_functions.h(118): error: first parameter of allocation function must be of type “size_t”

c:\program files\nvidia gpu computing toolkit\cuda\v10.1\include\crt/common_functions.h(240): error: first parameter of allocation function must be of type “size_t”

c:\program files\nvidia gpu computing toolkit\cuda\v10.1\include\crt/common_functions.h(241): error: first parameter of allocation function must be of type “size_t”

Hi

I have the same errors. Have you found an answer for that?

Yes, the error is caused by the wrong path to cl.exe. The right version for me is C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64. You can try which path to nvcc on your computer works correctly. Hostx86\x64, Hostx86\x86, Hostx64\x86 or Hostx64\x64