Почему я не должен включать <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>
, Имея это в виду, я все еще хотел бы знать:
Как я игнорирую
#error
который выбрасывается, как только я пытаюсь скомпилировать>Почему эта ошибка существует?