Does anyone know that _ITERATOR_DEBUG_LEVEL installs NVCC?

I am working on a Cmake project in VS2010 and am getting an error when trying to link the project:

2>warper_cuda.lib(cudakernels.cu.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in ColorTable.obj


I can set _ITERATOR_DEBUG_LEVEL to 0 for C ++ files, but then it is no longer linked with some other libraries. So I need to do nvcc compilation with level 2.

Using everything in release mode works, so the level seems to be correct. The command line used for compilation is as follows:

"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v4.0/bin/nvcc.exe" C:/path/to/cudakernels.cu -c -o "C:/path/to/cudakernels.cu.obj" -ccbin "c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin" -m64 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -Xcompiler ,\"/DWIN32\",\"/D_WINDOWS\",\"/W3\",\"/Zm1000\",\"/EHsc\",\"/GR\",\"/openmp\" -DNVCC -I -IC:/include/directory ...



source to share

1 answer

Just found a solution here: http://llpanorama.wordpress.com/2008/05/21/my-first-cuda-program/

I had to add "-D_DEBUG" to NVCC command line in order to use _ITERATOR_DEBUG_LEVEL from 2 ...



All Articles