FFTW_GNUC_未定义为预处理器宏

FFTW _GNUC_ is not defined as a preprocessor macro

本文关键字:处理器 预处理 未定义 GNUC FFTW      更新时间:2023-10-16

我已将FFTW库链接到此网站的虚幻引擎项目。但现在,当我试图将头文件包含到我的项目中时,我会出现错误:

'__GNUC__'未定义为预处理器宏,
替换为'#if/#elif'的'0'

我不知道如何解决这个问题。我不想弄乱代码本身,因为我认为它非常好。链接图书馆时我忘了什么吗?我还尝试将头文件作为C库包含在内。如有任何帮助,我们将不胜感激。

IDE:Visual Studio 2017社区

操作系统:Windows 10 Pro 64x

UE4版本:4.20

UnrealEngine似乎将许多警告视为错误,因此在尝试与产生这些警告的第三方库一起使用时会遇到麻烦。通常情况下,最好修复代码以避免出现警告,但我认为无论出于何种原因,都不能。

在这种特殊情况下,您可以设置:

bEnableUndefinedIdentifierWarnings = false;

进入你的*。生成.cs类构造函数。


如果这不是虚幻引擎,但仍然是Visual Studio C++,您也可以尝试将其放在导致警告的代码之前(例如,在包含获得警告的标头之前(:

#pragma warning(disable: 4668)

https://learn.microsoft.com/en-us/cpp/preprocessor/warning?view=vs-2019年

或者将其禁用为编译标志:

/wd4668

https://learn.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level?view=vs-2019年

一般来说,如果你得到了一些你认为不应该是错误的东西,如果给定的错误编号(这里是C4668(通常不是警告,那么就在网上搜索。如果是的话,那么这就允许像上面这样的快速破解。