Почему я не должен включать <bits / sigaction.h>, и как мне игнорировать ошибку при этом?

В настоящее время я пытаюсь использовать часть набора тестов SPEC OMP 2012 с помощью инструмента профилирования Score-P, и получаю ошибку. В частности:

/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. Почему эта ошибка существует?

0 ответов

Другие вопросы по тегам