【发布时间】:2011-02-13 06:53:43
【问题描述】:
由于版本差异,我想与我的程序一起提供共享库,而不是使用目标系统的。
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。我该怎么做?
【问题讨论】:
-
如果您只有一个可执行文件,您可能需要考虑静态链接您的程序。这样一来,没有人会意外丢失您的 libc 版本,并且如果他们删除您的程序,他们就不会保留您的 libc。