0

我需要使用 Qt IDE 在我的 PC 上使用 OpenMesh,简单 *.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!“ 谁能帮我?

4

2 回答 2

2

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

于 2018-12-30T14:44:40.810 回答
0

我也发生了同样的错误,但使用 MSVC 2019 16.6.1

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

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

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

于 2020-06-04T12:52:40.313 回答