Возможно, что во время компиляции существует более одного экземпляра библиотеки на пути поиска. В каком порядке каталоги процесса компоновщика включаются в путь поиска? Эта платформа относится к Sun OS.В каком порядке компоновщик обрабатывает библиотечные каталоги?
ответ
Поиск в каталоге осуществляется в том порядке, в котором они указаны в командной строке. Каталоги, указанные в командной строке, просматриваются перед каталогами по умолчанию. Все параметры -L применяются ко всем параметрам -l, независимо от порядка отображения параметров. LD_LIBRARY_PATH также может использоваться для дополнения пути поиска библиотеки. Поиск каталога останавливается в первом каталоге, содержащем соответствующую библиотеку.
LD_LIBRARY_PATH сложно, хотя:
LD_LIBRARY_PATH
Список каталогов, в которых производится поиск библиотек, указанных с опцией -l. Несколько каталогов разделены двоеточием. В большинстве общем случае, она будет содержать два список каталогов, разделенных точкой с запятой :
dirlist1; dirlist2
Если л.д. вызывается с любым количеством вхождений -L, как в:
ld . . . -Lpath1 . . . -Lpathn . . .
то упорядочение путь поиска:
dirlist1 path1 . . . pathn dirlist2 LIBPATH
Когда список каталогов не содержит точку с запятой, это интерпретируется как dirlist2.
LD_LIBRARY_PATH также используется для указания каталогов поиска библиотек на компоновщика времени выполнения. То есть, если LD_LIBRARY_PATH существует в среды, среда выполнения компоновщик поиск в каталогах, названные в нем, перед его каталогом по умолчанию, для общих объектов, которые будут связаны с программой при исполнении.
Подробнее об этом here.
- 1. В каком порядке java сортирует файлы/каталоги?
- 2. В каком порядке браузер обрабатывает css?
- 3. В каком порядке DOJO обрабатывает запросы ajax?
- 4. os.walk итерации в каком порядке?
- 5. Visual Studio игнорирует поле «Дополнительные библиотечные каталоги»
- 6. В каком порядке инициализируются поля?
- 7. В каком порядке используются перехватчики?
- 8. Javascript таймеры, в каком порядке
- 9. CMake и Visual Studio 2010 и дополнительные библиотечные каталоги
- 10. VS2015 C++ Ошибочно стираются «Включить каталоги» и «Библиотечные каталоги» в VC++ Каталожные объекты Свойство Page
- 11. В каком порядке rsyslog обрабатывает файлы конфигурации в файле /etc/rsyslog.d?
- 12. В каком порядке выпущены семафоры в Windows?
- 13. В каком порядке соединение выполняется в mysql?
- 14. urlparse.urljoin() не обрабатывает недопустимые родительские каталоги
- 15. Domino.NotesDocumentCollection - в каком порядке находятся элементы в коллекции?
- 16. В каком порядке глобальные конструкторы называются
- 17. В каком порядке обрабатываются элементы рабочего процесса?
- 18. В каком порядке мне нужно кодировать?
- 19. В каком порядке перечислены эти подмножества?
- 20. В каком порядке запрос SELECT возвращает результаты?
- 21. В каком порядке применяются стили CSS?
- 22. В каком порядке документы DocPad выдают?
- 23. В каком порядке называются события jquery?
- 24. В каком порядке классы загрузки java classloader?
- 25. В каком порядке отображаются разрешения для Android?
- 26. В каком порядке выполняется код схемы?
- 27. JEditorPane - В каком порядке отображаются события редактирования?
- 28. В каком порядке python обнаруживает ключ словаря
- 29. В каком порядке C# выполнить sqlstatement?
- 30. В каком порядке выполняются атрибуты фильтра?
Просто, чтобы подтвердить, правильно ли это LD_LIBRARY_PATH после всех опций -L? – Leonid
Нет, не совсем. Это зависит от того, содержит ли он точку с запятой или нет. Если это не так, то это происходит после всех -L, иначе список перед точкой с запятой идет первым, затем все -L-параметры, а затем список после точки с запятой. Я обновлю свой ответ, потому что трудно найти это в этом большом документе. Также обратите внимание, что это относится к Sun linker, а не к GNU. Я не уверен, какой из них вы используете. –