13.4 Исправленные заголовочные файлы
GCC необходимо установить исправленные версии некоторых системных заголовочных файлов. Это происходит потому, что большинство целевых систем имеют некоторые заголовочные файлы, которые не будут работать с GCC, если их не изменить. Некоторые содержат ошибки, некоторые несовместимы с ISO C, а некоторые зависят от специальных функций других компиляторов.
Установка GCC автоматически создаёт и устанавливает исправленные заголовочные файлы, выполняя программу fixincludes. Обычно, вам не нужно обращать на это внимание. Но существуют случаи, когда она не выполняет нужную работу автоматически.
- Если вы обновляете системные заголовочные файлы, например, установив новую версию системы, исправленные заголовочные файлы GCC не обновляются автоматически. Их можно обновить, используя скрипт
mkheaders, установленный в libexecdir/gcc/target/version/install-tools/. - На некоторых системах каталоги заголовочных файлов содержат машиноспецифические символические ссылки в определённых местах. Это позволяет совместно использовать большинство заголовочных файлов между хостами, работающими на одной версии системы, но на разных моделях компьютеров.
Программы, которые исправляют заголовочные файлы, не понимают этого специального способа использования символических ссылок; следовательно, каталог исправленных заголовочных файлов подходит только для модели компьютера, на которой он был создан.
Возможна создание отдельных наборов исправленных заголовочных файлов для разных моделей компьютеров и организация структуры символических ссылок, чтобы использовать соответствующий набор, но вам придётся сделать это вручную.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.5.0/gcc/Fixed-Headers.html