Ошибка:#error Этот файл требует поддержки компилятором и библиотекой стандарта ISO C++ 2011

Статус выхода из цикла соответствует статусу последней выполненной в нем команды, то есть echoили break, и обе они обычно имеют статус выхода 0. Поэтому вам необходимо сохранять и проверять статус цикла. условие. Я бы предложил использовать функцию:

loopcheck() {
for cond in {0,1,0}; do
  if [[ $cond = 0 ]]; then
    echo 0; 
  else
    ret=$?;   # preserve exit status of test
    echo 1; 
    return $ret;  # pass it on
  fi;
done
}

loopcheck && echo "true" || echo "false"

Другой вариант — сохранить $ret, как указано выше, и проверить его значение вне цикла.

0
28.05.2021, 01:00
1 ответ

После добавления (обязательного)-std=c++11флага (странно, по умолчанию на данный момент установлено значение -std=gnu++17--, т. е. расширения ISO C++ 2017 + GNU --, которые должны включать предыдущий ), вы поняли компилировать, но определение дляfftw_malloc(предположительно в какой-то библиотеке )отсутствует. Проверьте страницу руководства для fftw_malloc, там должно быть указано правильное заклинание. Если это вызывается, например, из Makefile, проверьте все строки LIB =или подобные.

0
28.07.2021, 11:28

Теги

Похожие вопросы