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

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

cvv ★★★★★
()

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

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

mky ★★★★★
()
Ответ на: комментарий от anonymous

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

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