Qt _USE_MATH_DEFINES

Qt _USE_MATH_DEFINES

本文关键字:DEFINES MATH USE Qt      更新时间:2023-10-16

我需要在PC上使用OpenMesh和Qt IDE,简单的*.pro文件的截图看起来像:

DEFINES += _USE_MATH_DEFINES
DEFINES += NOMINMAX
#DEFINES += OM_STATIC_BUILD
#OpenMesh
INCLUDEPATH += "D:/Libraries/OpenMesh 6.3/include"
#Debug
LIBS += "D:/Libraries/OpenMesh 6.3/lib/OpenMeshCored.lib"
LIBS += "D:/Libraries/OpenMesh 6.3/lib/OpenMeshToolsd.lib"
# Release
LIBS += "D:/Libraries/OpenMesh 6.3/lib/OpenMeshCore.lib"
LIBS += "D:/Libraries/OpenMesh 6.3/lib/OpenMeshTools.lib"

但是,我仍然收到错误消息:">C1189:#error:"您必须在编译器设置中定义_USE_MATH_DEFINES!谁能帮我?

如果你想像使用 qmake 一样从 Qt creator 运行你的应用程序,你只需要"DEFINES += _USE_MATH_DEFINES"添加到你的 *.pro 文件中

我遇到了同样的错误,但是使用 MSVC 2019 16.6.1

在我的 OpenMesh include 语句前面添加定义_USE_MATH_DEFINES为我解决了这个问题。

#define _USE_MATH_DEFINES
#include <OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh>

论坛帖子 #define _USE_MATH_DEFINES 如何工作?帮助我理解定义背后的功能。