это тривиально: ссылка с -static.конечно, это означает, что вам понадобятся статические библиотеки.компоновщик (часто вызываемый через cc) просто по умолчанию использует общие библиотеки, когда обе доступны.
[hahn@box ~]$ cat hello.c
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
[hahn@box ~]$ cc hello.c -o hello
[hahn@box ~]$ file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
[hahn@box ~]$ ldd hello
linux-gate.so.1 => (0x00205000)
libc.so.6 => /lib/libc.so.6 (0x00697000)
/lib/ld-linux.so.2 (0x005b4000)
[hahn@box ~]$ cc hello.c -o hello -static
[hahn@box ~]$ file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, not stripped
[hahn@box ~]$ ldd hello
not a dynamic executable
[hahn@box ~]$ ./hello
Hello, world!
, чтобы это работало, мне нужно было установить glibc-static, который не устанавливается по умолчанию (по крайней мере,на этой коробке, которая является Fedora14).некоторые пакеты позволяют вам выбирать статические ссылки на уровне ./configure, иначе вам может понадобиться изменить Makefile.