有谁知道 NVCC 设置的 _ITERATOR_DEBUG_LEVEL 是什么?
我在 VS2010 的 Cmake 项目中工作,尝试链接项目时出现链接错误:
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
我可以将 c++ 文件的 _ITERATOR_DEBUG_LEVEL 设置为 0,但是它不再与其他一些库链接。所以我需要一种方法来使 nvcc 编译为 2 级。
在发布模式下使用所有内容都有效,因此级别似乎设置正确。用于编译的命令行如下所示:
"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 ...