Pregunta

¿Alguien sabe qué se establece _iterator_debug_level los conjuntos NVCC?

Estoy trabajando en un proyecto CMAKE en VS2010 y obtenga un error de vinculación al intentar vincular el proyecto:

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

Puedo establecer el _iterator_debug_level en 0 para los archivos C ++, pero luego no se conecta con algunas otras bibliotecas.Así que necesito una forma de hacer la compilación NVCC con el nivel 2.

Usando todo en modo de lanzamiento funciona, por lo que el nivel parece estar configurado correctamente.La línea de comandos utilizada para compilar se parece a esto:

"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 ...

¿Fue útil?

Solución

Acabo de encontrar la solución aquí: http://llpanorama.wordpress.com/2008/05/21 / My-First-Cuda-Program /

Tuve que agregar "-d_debug" a la línea de comandos de NVCC para que use un _iterator_debug_level de 2 ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top