FFTW _GNUC_未定义为预处理器宏

时间:2018-07-10 12:37:36

标签: c++ unreal-engine4 fftw

我已经从this网站将FFTW库链接到Unreal Engine项目。但是现在当我尝试将头文件包含到我的项目中时,出现错误:

  

'__ GNUC__'未定义为预处理器宏,
  将“#if /#elif”替换为“ 0”

我不知道该如何解决。我不想弄乱代码本身,因为我认为它很好。链接库时,我是否忘记了某些内容?我也尝试过将头文件包含为C库。 任何帮助将不胜感激。

IDE:Visual Studio 2017社区

操作系统:Windows 10 Pro 64x

UE4版本:4.20

1 个答案:

答案 0 :(得分:0)

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

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

| Array<Student> $student = array(); |

在* .Build.cs类构造函数内部。


如果不是UnrealEngine,而是Visual Studio C ++,您也可以尝试将其放在引起警告的代码之前(例如,在包含获得警告的标头之前):

bEnableUndefinedIdentifierWarnings = false;

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

或将其禁用为编译标志:

#pragma warning(disable: 4668)

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

通常,如果您得到的东西不应该是错误,请在给定错误号(此处为C4668)的情况下通常不是警告,请在网上搜索。如果是这样,则可以进行如上的快速破解。