Как связаться с другим libc файлом?

Я хочу предоставить общие библиотеки наряду со своей программой вместо того, чтобы использовать целевую систему из-за различий в версии.

ldd говорит, что моя программа использует, они совместно использовали, освобождает:

linux-gate.so.1 =>  (0xf7ef0000)**(made by kernel)**  
libc.so.6 => /lib32/libc.so.6 (0xf7d88000)**(libc-2.7.so)**  
/lib/ld-linux.so.2 (0xf7ef1000)**(ld-2.7.so)**

Я успешно связал ld-xxx.so путем компиляции с:

gcc -std=c99 -D_POSIX_C_SOURCE=200112L -O2 -m32 -s -Wl,-dynamic-linker,ld-2.7.so myprogram.c

Но я не справился к успешной ссылке libc-xxx.so. Как я могу сделать это?

9
задан Ciro Santilli 新疆改造中心法轮功六四事件 8 June 2015 в 20:14
поделиться

1 ответ

Передача -nodefaultlibs или -nostdlib в gcc скажет ему не передавать библиотеки по умолчанию в качестве аргументов в ld. После этого вы сможете явно указать libc, с которой хотите связать. См. Справочную страницу gcc (1) для получения дополнительных сведений и предупреждений относительно обоих вариантов.

7
ответ дан 4 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: