0

我目前正在尝试使用 Score-P 分析工具检测 SPEC OMP 2012 基准测试套件的一部分,但出现错误。具体来说:

/XXX/imagick/src/magick_magick.c: In function ‘SetMagickSignalHandler’:
/XXX/imagick/src/magick_magick.c:1137:20: error: storage size of ‘action’ isn’t known
    struct sigaction action, previous_action;

根据我在这里找到的信息,问题是当我使用-std=c99(使用gcc 6.2.1)编译时,编译器无法识别sigaction,因为它不在 C99 规范中。

有趣的是,当我在没有Score-P 的情况下编译时,我根本没有这个问题。但那是另一回事了。

说了这么多,我仍然需要检测这个程序。我也不关心便携性。而且我知道您不应该直接包含<bits/sigaction.h>. 考虑到这一点,我仍然想知道:

  1. 我如何忽略#error一旦我尝试编译就会抛出的问题>

  2. 为什么会存在这个错误?

4

0 回答 0