Я уже давно пользуюсь системой MacOSX, но только недавно начал разбираться в ней. Я нашел руководство, в котором говорилось, что нужно запустить sudo ranlib /usr/local/lib/libjpeg.a'(install libjpeg). Я прочитал руководство по ranlib и попытался найти его в Интернете. Я просто не понимаю. Какие ресурсы мне нужно найти, чтобы узнать больше, или кто-то может дать краткое объяснение по его использованию? Заранее спасибо!
3 ответа
Это описание выглядит довольно ясно: http://sourceware.org/binutils/docs/binutils/ranlib.html
Поэтому, если вы архивируете коллекцию объектных файлов, скажите:
$ ar r fruits.a apple.o orange.o pineapple.o
Потом работает
$ ranlib fruits.a
создает индекс содержимого fruits.a и сохраняет индекс в fruits.a. Это полезно для связывания и в случае, если объекты вызывают друг друга.
ranlib создает индекс содержимого архива и сохраняет его в архиве. Индекс перечисляет каждый символ, определенный членом архива, который является перемещаемым объектным файлом. Архив с таким индексом ускоряет соединение с библиотекой и позволяет подпрограммам в библиотеке вызывать друг друга независимо от их размещения в архиве.
источник: страница руководства ranlib
ranlib
добавляет или обновляет объектные файлы в статической библиотеке. Linkers может использовать статические библиотеки , когда связь с тем , чтобы обеспечить символы , что код нуждается для того , чтобы работать (в отличие от погрузчика ищет их в динамических библиотеках при запуске исполняемого файла).