Один раз столкнувшись с ошибками компоновщика слишком много, я пришел к выводу, что мне действительно нужно понять, как работает ld, а не просто просить SO исправить что-то с помощью черной магии. ..
Я пытаюсь скомпилировать бинарный файл в объектный файл MACH_O, чтобы его можно было линковать в dylib. dylib написан на c/c++. В linux используется следующая команда:
ld -r -b binary -o foo.o ...
Мне нужно получить начальный и конец адресу текстового раздела исполняемого файла. Как я могу получить это? Я могу получить начальный адрес из символа _инита или символа _START, но как насчет окончания адреса? ...
У меня есть приложение, которое выдает ошибку при попытке запустить его: /lib/libc.so.6: версия `GLIBC_2.7 'не найдена Но единственный символ, который ему нужен из glibc 2.7, - __isoc99_sscanf @ @ GLIBC_2.7 Я хочу ...
Я использую ускоренную сериализацию. Я скомпилировал с помощью: -L / opt / local / lib -lboost_serialization -stdlib = libc ++, но получил несколько (ungooglable) ошибок: Неопределенные символы для архитектуры x86_64: "boost :: ...
У меня возникли проблемы с связыванием 2 объектных файлов, один из которых был сгенерирован из исходного файла языка ассемблера, а другой - из исходного файла C. Исходный код на C: //main2.c
extern int ...
gcc и ld предоставляют множество способов указать путь поиска для библиотек, в том числе флаги -rpath и -L. На страницах руководства нет различий между этими двумя флагами, фактически говоря, что каждый флаг добавляет ...
После нескольких часов поиска в Google я решил сдаться и попросить вас экспертов. Я пытаюсь создать 32-разрядное приложение (xgap, если кому-то интересно) на моем 64-разрядном Ubuntu 11.10. Я добавил CFLAGS = -m32 и LDFLAGS = -...
Я уже обновился до нового Ubuntu 11.10. Проблема в том, что программное обеспечение, над которым я работаю, больше не связывается. Я нашел эту вики-запись, которая, кажется, описывает проблему. Тем не менее, я ...
Я использую определенные инструменты GNU, то есть компилятор GNU C ++ (G ++) и линкер GNU (LD) для создания файла общей библиотеки (.so) а также бинарный исполняемый файл. Двоичный исполняемый файл делает использование ...
. Каковы правила Для инициализации статического объекта, объявленного в другой общей библиотеке? Например, рассмотрим следующее: файл x.hpp: struct x {x (); Статический x const s_x;
}; структура y {
...
Я просмотрел некоторые конфигурационные файлы и увидел, что они оба используются (хотя и на разных архитектурах). Если вы используете gcc на linux box, то есть ли разница между этими двумя ...
В течение нескольких дней мы сталкиваемся с очень странной проблемой. Я не могу понять, как это вообще происходит - когда сторонняя программа (MATLAB) использует нашу общую библиотеку, она каким-то образом отменяет некоторые из наших символов ...
У меня есть процесс Solaris, приложение C ++, загружаемое ld с несколькими библиотеками .so. В этом приложении есть функция, которая получает адрес возврата в вызывающей функции, а затем пытается ...
Я пытаюсь запустить файл базовой сборки с помощью 64-разрядной Mac OS X Lion, используя nasm и ld которые по умолчанию устанавливаются вместе с Xcode. Я написал файл сборки, который печатает символ, и я получил его ...
Запуск Debian / Linux x86_64 с GNU ld 2.21. Проще говоря, если я свяжусь с ld -o main main.o /usr/lib/crti.o /usr/lib/crt1.o /usr/lib/crtn.o -lc -lm Это работает, но когда я связываюсь с ld -r -o main1.o ...
Я играл с LD_PRELOAD для перехвата вызовов libc, похоже, что вызов записи не перехватывается с wc, хотя, похоже, он работает с cat. Урезанная версия the ...
Допустим, у меня есть два файла .cpp, file1.cpp и file2.cpp, которые используют std :: vector . Предположим, что file1.cpp имеет int main (void). Если я скомпилировал оба файла в file1.o и file2.o и связал их ...
Недавно я потратил много часов, пытаясь исправить проблемный сценарий ld.
Как только я нарисовал (на бумаге) все разные разделы, я смог решить проблему. Итак, я начал искать какой-то LD ...
أستخدم python مع تمكين setcap CAP_NET_RAW. يستورد برنامج Python النصي الخاص بي مكتبة مشتركة بها $ ORIGIN في RPATH. نظرًا لأن برنامج python الخاص بي أصبح الآن تطبيقًا suid ، لم يتم تقييم $ ORIGIN والمكتبة ...
У меня есть объектный файл, скомпилированный с использованием as (из кода ассемблера). Если я свяжу его с помощью ld, при попытке stepi (или nexti) gdb пожалуется на доступ к памяти по адресу 0x0. Если я свяжу его с помощью gcc, все будет ...
Я пытаюсь использовать sprof для профилирования некоторого программного обеспечения (ossim), где почти весь код находится в общая библиотека. Я создал файл профилирования, но когда я запускаю sprof, я получаю следующую ошибку:> sprof ...
Я создаю свою собственную "игрушечную" ОС, и я дошел до того момента, когда я пытаюсь понимать компоновочные и исполняемые форматы - в частности, у меня есть исполняемый файл в двоичном формате плоского файла, который я загружаю ...
Это не часто две вещи, которые я так люблю, объединяются, чтобы причинить мне столько раздражения (помимо моих детей). Я написал программу на Haskell на работе, которая использует библиотеки, такие как text, xml-enumerator, attoparsec -...
Извините, что есть много похожих вопросов, но я обнаружил, что поиск в Google для запросов CMake всегда дает похожие, но -не-одинаковые сценарии, конфликтующие команды CMake и так далее! Мне нужно заставить мои ...
Я смотрел результат сборки в Eclipse. Я' m кросс-компиляция для процессора ColdFire. Строка компиляции выглядит так: m68k-elf-g ++ -O2 -falign-functions = 4 -IC: \ nburn \ include -IC: \ ...
I am building some legacy code from projects that uses static libraries. Now, I get lots of errors like this: ld: warning: option -m is obsolete and being ignored
ld: duplicate symbol
У меня следующая проблема. Я пишу общую библиотеку #include
#include static void __attribute__ ((конструктор)) test_init (void);
static void __attribute__ ((...
Я с использованием gcc 4.3.4 и ld 2.20.51 в Cygwin под Windows 7. Вот упрощенная версия моей проблемы: foo.o содержит функцию foo_bar (), которая вызывает bar () в bar.o
bar.o содержит функцию bar ()
...
[root@xx test]# cat /usr/lib64/libc.so
/* Скрипт GNU ld Используйте общую библиотеку, но некоторые функции есть только в статической библиотеке, поэтому попробуйте использовать ее во вторую очередь. */
OUTPUT_FORMAT(elf64-x86-64)
GROUP (...