Я столкнулся с этой проблемой во время кросс-компиляции. Когда вы выполните make make, Makefile вызовет программу makedepend, как видно из этого назначения:
MAKEDEPPROG=makedepend
makedepend ищет только некоторые каталоги по умолчанию, начинающиеся с /usr/include
Поскольку директива #include_next
означает включение следующего найденного экземпляра именованного включаемого файла в путь поиска, произойдет сбой, если другой не найден.
Для меня решение состояло в том, чтобы направить makedepend для поиска в моих каталогах по кросс-компилятору. Я сделал это, изменив назначение MAKEDEPPROG
и включив в него директиву -I
:
MAKEDEPPROG=makedepend -I < path/to/cross-compiler/include-fixed >
Предлагаю прочитать о программе makedepend (о которой я ничего не знал раньше). Например, для меня не было очевидным, что makedepend не будет использовать путь поиска среды. Директива -I
помещает указанный путь поиска перед путями по умолчанию для makedepend.