首页 > 解决方案 > Windows 上的 clang 中缺少 M_PI_2

问题描述

我在源代码中使用了math.h中的 M_PI_2。

这适用于我的 Linux、OSX、iOS 和 Android 版本。

当我为 Windows 使用 clang 编译器时,我得到:

use of undeclared identifier 'M_PI_2'

为什么 Windows 上的 clang 编译器没有 M_PI_2?我编译_POSIX_C_SOURCE=200112L

$ clang --version
clang version 6.0.1 (tags/RELEASE_601/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin

标签: cclangmath.h

解决方案


所以,从ucrt/corecrt_math_defines.h我看:

“在包括公开这些宏定义之前定义_USE_MATH_DEFINES ......”


推荐阅读