LINUX.ORG.RU

статическая линковка


0

0

Есть прога которая пользует libpcap.
Если линковатся статически то вылазят такие ерроры:

/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../libpcap.a(nametoaddr.o): In function `pcap_nametoaddrinfo':
(.text+0x4d6): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../libpthread.a(sem_open.o): In function `sem_open':
(.text+0x3dd): warning: the use of `mktemp' is dangerous, better use `mkstemp'
/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../libpcap.a(nametoaddr.o): In function `pcap_nametoaddr':
(.text+0x50a): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../libpcap.a(nametoaddr.o): In function `pcap_nametonetaddr':
(.text+0x469): warning: Using 'getnetbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../libpcap.a(nametoaddr.o): In function `pcap_nametoproto':
(.text+0x269): warning: Using 'getprotobyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../libpcap.a(nametoaddr.o): In function `pcap_nametoport':
(.text+0x2b0): warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking


если динамически то всё нормально, но тащить за собой libpcap нехочется.
Но. Если я стираю у себя все libpcap*.so и оставляю только libpcap.a, то при динамической линковке всё нормально соберается и прога libpcap не требует.

Отсюда вопрос, как прилинковатся статически только к одной библиотеке ? (т.е без извратов со стиранием).

anonymous

Re: статическая линковка

для начала переведи на русский и ты узриш что варнинги не относятся к libpcap

cvv ★★★★★ ()

Re: статическая линковка

Если я правильно помню, то как то так:

gcc ...входные/выходные файлы... -Wl,-Bstatic -l pcap -Wl,Bdynamic

mky ★★★★★ ()
Ответ на: Re: статическая линковка от anonymous

Re: статическая линковка

>>>самое просто просто явно
прикольную фразу я изобрёл :)

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.