Я запускаю команду сборки, которая обращается к библиотечным файлам на три каталога, используя опцию -I . Путь к каталогу, из которого я вызываю GCC, находится в /home/user/a/b/c/d/a1/a2/test а библиотеки находятся в /home/user/a/b/c/d .

Тем не менее, странно то, что я не могу получить доступ или даже увидеть файлы, если я не cd к их папке. Если я бегу ls ../../../ из test папки, тогда эти файлы вообще не появляются. Это реальные файлы, а не символические ссылки. Я даже запускал на них chmod o+x чтобы быть уверенным.

Кто-нибудь знает, что происходит?

1 ответ1

0

Я наконец нашел причину проблемы. Оказывается, один из каталогов был символической ссылкой на другой каталог. Таким образом, ls действовал в целевом каталоге, а не в каталоге, содержащем символическую ссылку. Использование абсолютного пути решило проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .