Я недавно обновил Kubuntu 12.04 до 13.04, полная переустановка.
Использование gcc 4.7.3. Я скомпилировал несколько программ, чтобы обнаружить, что нет /usr/include/sys
каталога. То есть, types.h
и stat.h
т. Д. Отсутствуют. Они существуют в include/linux
каталоге, но нет include/sys
.
В чем дело?
Ответы:
Если вы используете Ubuntu на 64-битной системе (я не могу прямо сейчас писать на 32-битной системе), то каталог с вопросом:
Теперь, имея эту информацию, вы можете создавать символические ссылки на эти файлы, если они вам действительно нужны в этом месте (
/usr/include/sys
), используя это на терминале:источник
установите libc6-dev-amd64, если вы работаете на 64-битной Linux. Введите следующую команду в терминале Ubuntu:
источник
каталог sys - это каталог системных заголовков unix / linux с большим количеством системных команд. Различные бренды / версии Linux могут поставить его в разных местах. Следующая команда может помочь вам:
Первый из них является домом для системных заголовков BSD unix.
Второй - это каталог, содержащий 64-битные системные главы Linux.
У меня проблемы с cmake, так как я не могу найти файл sys / stat.h. Мое временное решение - сделать символическую ссылку
Я не хочу загрязнять каталог / usr / include, и я делаю ссылку только на один конкретный заголовочный файл, а не на весь каталог sys. Я думаю, что это недостаток cmake, поэтому он оказывает минимальное влияние, делая только одну ссылку. Надеюсь, что это может помочь тем, кто страдает от той же проблемы.
источник
Давайте проверим, каков путь поиска по умолчанию для gcc. Из этого ответа мы получаем следующую команду:
В конце вывода я вижу это на моей машине:
Обратите внимание на последнюю строку. Это означает, что когда вы компилируете файл C с помощью
#include <sys/stat.h>
, gcc будет искать,/usr/include/x86_64-linux-gnu/sys/stat.h
прежде чем пытаться/usr/include/sys/stat.h
, без нас ничего символической ссылки.источник
Поскольку моя архитектура amd64 нет
libc6-dev-amd64
. Пакет для установкиlibc6-dev-i386
.Это исправило зависимость для CPAN-пакета.
источник