问题描述
在这个问题中:
How to disable a specific nvcc compiler warnings
有一个链接到一个很长的“字典”映射令牌到错误消息,这似乎适合 NVCC ......除了它没有涵盖所有警告。具体来说,我想压制
warning: 'long double' is treated as 'double' in device code
...而且那个警告不在那里。它的令牌是什么?或者 - 我如何确定给定警告字符串的令牌?
注意:AFAICT,不是
"double" used for "long double" in generated C code
非常相似。
解决方法
那个警告的编号是20208;因此,如果您将以下内容附加到编译命令行,它将被抑制:
-Xcudafe --diag_suppress=20208
感谢 this answer 我发现了这一点,它解释了如何让 NVCC 发出警告号码。
但是 - 这不起作用:
#pragma diag_suppress = 20208
所以在代码中按数字抑制错误的语法必须不同。
注意:不要将 diag-suppress
误认为 diag_suppress
。