CUDA文件中有一些使用此编译指示的C ++代码:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-result"
void foobar()
{
// some code
}
#pragma GCC diagnostic pop
当使用CUDA 5.5 nvcc编译器编译此CUDA文件时,主机编译器阶段很好,但设备编译器阶段会产生此警告:
foobar.cu(420): warning: unrecognized GCC pragma
看起来CUDA编译器明白这是一个GCC编译指示。我不知道它为什么要试图了解所有GCC编译指示。是否有任何方法可以解决此警告或使此警告消失?
更新:请注意,将-Xcudafe "--diag_suppress=unrecognized_pragma"
选项传递给nvcc编译器似乎没有任何效果。
答案 0 :(得分:1)
如the duplicate question所示,您需要将以下标志传递给nvcc:
-Xcudafe "--diag_suppress=unrecognized_pragma"
答案 1 :(得分:0)
试试这个:
-Xcudafe "--diag_suppress=unrecognized_gcc_pragma"