【问题标题】:_ITERATOR_DEBUG_LEVEL of Cuda (NVCC) compiler?Cuda (NVCC) 编译器的_ITERATOR_DEBUG_LEVEL?
【发布时间】:2012-03-14 14:11:35
【问题描述】:

有谁知道 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 ...

【问题讨论】:

  • 我认为_ITERATOR_DEBUG_LEVEL 是一个内部视觉工作室设置。您确定没有为调试而构建的一些主机对象文件或库吗?
  • 是的,这是一个视觉工作室的东西。见stackoverflow.com/questions/5727815/…

标签: c++ visual-studio-2010 linker cuda nvcc


【解决方案1】:

刚刚在这里找到了解决方案: http://llpanorama.wordpress.com/2008/05/21/my-first-cuda-program/

我必须在 NVCC 命令行中添加“-D_DEBUG”以使其使用 2 的 _ITERATOR_DEBUG_LEVEL...

【讨论】:

    猜你喜欢
    • 2010-10-05
    • 2019-08-26
    • 2012-12-09
    • 1970-01-01
    • 2016-03-20
    • 2011-01-21
    • 2013-05-06
    • 2012-09-29
    • 1970-01-01
    相关资源
    最近更新 更多