_Cuda(NVCC)编译器的ITERATOR_DEBUG_LEVEL
_ITERATOR_DEBUG_LEVEL of Cuda (NVCC) compiler?
有人知道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 ...
刚刚在这里找到了解决方案:http://llpanorama.wordpress.com/2008/05/21/my-first-cuda-program/
我不得不在NVCC命令行中添加"-D_DDEBUG",使其使用2…的_ITERATOR_DEBUG_LEVEL
相关文章:
- 可视化C++:发布模式的运行时库作为'Multi-threaded Debug DLL'
- 在调试模式下引发C++ "deque iterator not dereferencable"异常
- std::iterator::reference 必须是引用吗?
- LNK1104:无法打开libpjproject-i386-Win32-vc14-Debug-Static.lib
- 在 Boost::fiber 中引发的BOOST_ASSERT故障 Visual Studio "Debug" 构建
- 我在主函数的左括号上不断收到错误,消息为obj\Debug\main.o||在函数"ZN11linked_listC1Ev"中:|
- 流行"Debug Assertion Failed"
- 为什么unordered_set<string::iterator>不起作用?
- 造成致命错误:boost/fusion/iterator/equal_to.hpp 没有这样的文件或目录
- Visual accept std::string from std::byte iterator
- 解决与构建"Debug x64"版本的暗网相关的错误
- Visual Studio Debug 只在一个线程中
- 在Visual Studio代码中定义DEBUG和RELEASE符号
- Visual Studio 2017中使用ifstream时,Release和Debug的输出不同
- 什么是"std::set<int,int>::iterator"?
- /usr/bin/ld: build-debug/obj/gpsitem.o: 文件无法识别: 文件被截断
- 从 std::vector 中删除项目时"Iterator not incrementable"
- 如何从 boost::container::vector<std::string>::iterator 访问索引和对象?
- 空集"Out of bound iterator"
- 如何绕过 << 调用,就好像"#ifndef DEBUG" c++ 中的宏一样?