5 ответов5

7

В Bourne-подобных оболочках она устанавливает переменную ${LIBRARY_PATH} в текущий рабочий каталог (в то время, когда на него ссылаются) и экспортирует ее для просмотра другими командами.

Если вам нужен текущий каталог во время export , вы должны использовать:

export LIBRARY_PATH=$(pwd)

Обратите внимание, что эта команда игнорирует любое содержимое, которое, возможно, уже было присвоено ${LIBRARY_PATH} . Если вы хотите добавить к ${LIBRARY_PATH} вы можете использовать:

export LIBRARY_PATH=${LIBRARY_PATH}:.

Линкер GCC - это одна из таких команд, которая будет использовать ${LIBRARY_PATH}:

Значение LIBRARY_PATH - это список каталогов, разделенный двоеточиями, очень похожий на PATH. При настройке в качестве собственного компилятора GCC пробует каталоги, указанные таким образом, при поиске специальных файлов компоновщика, если он не может найти их с помощью GCC_EXEC_PREFIX.

Смотрите man gcc и man export для получения дополнительной информации.

1

Это устанавливает переменную среды LIBRARY_PATH для текущей директивы в сценарии оболочки и экспортирует ее, чтобы другие команды могли видеть это значение. Эта переменная окружения проверяется компоновщиком, чтобы найти все библиотеки, на которые ссылается ваш код.

1
export LIBRARY_PATH=.

эта команда говорит компоновщику искать библиотеку из текущего каталога.

1

Это устанавливает переменную среды LIBRARY_PATH. Значение - это имя текущей директории. Экспорт инструктирует bash, что переменная будет находиться не только в оболочке, но будет передаваться командам, начинающимся отсюда.

1

Вы устанавливаете переменную env LIBRARY_PATH в текущий рабочий каталог и экспортируете ее так, чтобы она была доступна для программ вне оболочки, компилятор в вашем случае.

Эти каталоги, которые вы указываете в LIBRARY_PATH будут искать после любых каталогов, указанных в командной строке с параметром -L , и перед стандартными каталогами по умолчанию (такими как /usr/local/lib и /usr/lib).

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