如何为 nvcc 添加预定义宏?

How to add predefine macro for nvcc?

我目前正在编译一个集成了OpenMesh和CUDA的Qt项目。由于我必须使用nvcc来编译项目,所以我从OpenMesh中发现了一个错误:

J:\OpenMesh2.4\include\OpenMesh/Core/System/compiler.hh(109) : fatal error C1189:
#error :  "You have to define _USE_MATH_DEFINES in the compiler settings!"

由于编译器是nvcc而不是vc编译器,即使我在"preprocessor definitions"中添加了宏,仍然出现错误。我只是想知道是否有办法为 nvcc 添加这个宏? 我还尝试在我的 header 之一中手动添加此宏,其中包括开放网格 headers。上面的错误没有了,但是编译给出了另一个关于openmesh源代码的奇怪错误。

找到解决方案:在 nvcc 标志中添加 -D 后跟宏...