Запитання з тегом «linker»

Лінкер є частиною ланцюжка інструментів для створення виконуваних файлів із вихідного коду, написаного на складених мовах програмування. Він приймає складений об'єктний код у декількох файлах і створює з них єдиний, "пов'язаний", виконуваний файл.

5
Як вказати перевагу шляху бібліотеки?
Я складаю програму на C ++ за допомогою g++і ld. У мене є .soбібліотека, якою я хочу користуватися під час встановлення посилань. Однак бібліотека з однойменною назвою існує /usr/local/libі ldвибирає цю бібліотеку замість тієї, яку я прямо вказую. Як я можу це виправити? У наведених нижче прикладах, моя бібліотека файлу …
94 c++  linker  g++ 


4
Чи можу я змінити 'rpath' у вже складеному двійковому файлі?
У мене є старий виконуваний файл, який заплановано для сміття, але його ще немає. Це покладається на деякі бібліотеки, які були видалені з мого середовища, але у мене є деякі заглушені бібліотеки десь, де це чудово працює. Я хотів би спрямувати цей виконуваний файл на ці заглушки. Так, я міг …
92 linux  linker  elf 

5
Що означає помилка "інформація про версію недоступна" від динамічного компонувача Linux?
У нашому продукті ми поставляємо деякі двійкові файли Linux, які динамічно зв'язуються із системними бібліотеками, такими як "libpam". У деяких системах клієнтів ми отримуємо таку помилку на stderr під час запуску програми: ./authpam: /lib/libpam.so.0: no version information available (required by authpam) Додаток працює нормально і виконує код з динамічної бібліотеки. …
89 linux  linker 

1
Яка різниця між -rpath та -L?
gccі ldнадають багато способів вказати шлях пошуку для бібліотек - серед них -rpathі -Lпрапори. Сторінки не виявляють відмінностей між цими двома прапорами, фактично кажучи, що кожен прапор додає бібліотеку до шляху пошуку бібліотеки. Тим НЕ менше, здається дивним , що обидва прапор робить точно те ж саме. Які відмінності, якщо …


2
об'єднати два об'єднані файли об'єкта .o у третій файл .o
Як поєднувати два об'єднані файли об'єкта .o у GCC у третій файл .o? $ gcc -c a.c -o a.o $ gcc -c b.c -o b.o $ ??? a.o b.o -o c.o $ gcc c.o other.o -o executable Якщо у вас є доступ до вихідних файлів, -combineпрапор GCC об'єднає вихідні файли …

7
Помилка компіляції з “переміщення R_X86_64_32 проти` .rodata.str1.8 'не можна використовувати під час створення спільного об’єкта ”
Я намагаюся скомпілювати цей вихідний код із makefile у VPS, але він не працює. VPS - це 64-центрова ОС Ось повна помилка # make gcc -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/amx/*.c g++ -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/*.cpp g++ -c -O3 -w -DLINUX -I../SDK/amx/ *.cpp g++ -O2 -fshort-wchar -shared -o …

5
Що знаходиться всередині файлу .lib статичної бібліотеки, статично пов'язаної динамічної бібліотеки та динамічно пов'язаної динамічної бібліотеки?
Що знаходиться всередині файлу .lib статичної бібліотеки, статично пов'язаної динамічної бібліотеки та динамічно пов'язаної динамічної бібліотеки? Як так, немає необхідності у файлі .lib у динамічно пов'язаній динамічній бібліотеці, а також у тому, що при статичному зв'язуванні файл .lib - це не що інше, як файл .obj з усіма методами. Це …

1
Що таке параметри командного рядка --start-group та --end-group?
Яка мета цих параметрів командного рядка? Будь ласка, допоможіть розшифрувати значення наступного командного рядка: -Wl,--start-group -lmy_lib -lyour_lib -lhis_lib -Wl,--end-group -ltheir_lib Очевидно, це має щось спільне із зв'язуванням, але в посібнику GNU тихо, що саме означає групування.
83 gcc  linker  ld 

9
статичні змінні у вбудованій функції
У мене є функція, яка оголошена та визначена у файлі заголовка. Це проблема сама по собі. Коли ця функція не вбудована, кожна одиниця перекладу, яка використовує цей заголовок, отримує копію функції, а коли вони зв’язані між собою, вони дублюються. Я "виправив" це, зробивши функцію вбудованою, але я боюся, що це …

4
Проста перевірка на наявність невирішених символів у спільних бібліотеках?
Я пишу досить велику бібліотеку спільних об'єктів C ++ і зіткнувся з невеликою проблемою, яка завдає налагодження біль: Якщо я визначаю функцію / метод у файлі заголовка та забуваю створити для нього заглушку (під час розробки), оскільки я будую спільну бібліотеку об'єктів, а не виконуваний файл, під час компіляції не …

3
Як додати шляхи включення та бібліотеки для налаштування / створення циклу?
Мені потрібно місце для встановлення бібліотек у вікні Linux, до якої я не маю доступу su. Я використовую ~ / local [/ bin, / lib, / include], але я не знаю, як я можу сказати ./configure шукати там бібліотеки (зокрема, я намагаюся скомпілювати emacs, якому потрібен libgif , який не …

6
спільні глобальні змінні в C
Як я можу створити глобальні змінні, які спільно використовуються в C? Якщо я поміщу його у файл заголовка, тоді компоновник скаржиться, що змінні вже визначені. Чи єдиний спосіб оголосити змінну в одному з моїх файлів C та вручну поставити externs у верхній частині всіх інших файлів C, які хочуть її …

8
Заміна ld золотом - будь-який досвід?
Хтось намагався використовувати goldзамість ld? gold обіцяє бути набагато швидшим, ніж ld, тому це може допомогти прискорити тестові цикли для великих програм C ++, але чи можна використовувати його як заміну для ld? Можна gcc/ g++безпосередньо зателефонувати gold.? Чи є якісь відомі помилки чи проблеми? Незважаючи goldна те, що з …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.