URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3851
[ Назад ]

Исходное сообщение
"zlib и статическая компиляця"

Отправлено mike , 19-Янв-05 21:06 
У меня ступор:

#gcc -o result -lz myfile1.o myfile2.o myfile3.o

собирает нормально

#gcc -o result -static -lz myfile1.o myfile2.o myfile3.o

ругается на отсутсвие zlib'ных функций. В libz.a функции есть. Но у меня такое подозрение что линковщик даже не трогает libz.a, сразу выдает, мол не знаю таких функций.

Все дело под FreeBSD 4.8


Содержание

Сообщения в этом обсуждении
"zlib и статическая компиляця"
Отправлено hatta , 19-Янв-05 21:57 
>У меня ступор:
>
>#gcc -o result -lz myfile1.o myfile2.o myfile3.o
>
>собирает нормально
>
>#gcc -o result -static -lz myfile1.o myfile2.o myfile3.o
>
>ругается на отсутсвие zlib'ных функций. В libz.a функции есть. Но у меня
>такое подозрение что линковщик даже не трогает libz.a, сразу выдает, мол
>не знаю таких функций.
>
>Все дело под FreeBSD 4.8

надо -lz ставить в конец командной строчки.
типа gcc -o result -static myfile1.o myfile2.o myfile3.o -lz


"zlib и статическая компиляця"
Отправлено mike , 20-Янв-05 15:17 
>>У меня ступор:
>
>надо -lz ставить в конец командной строчки.
>типа gcc -o result -static myfile1.o myfile2.o myfile3.o -lz

тьфу ты.. утро вечера мудренее.

Еще вопрос. Можно ли как нибудь одни библиотеки прикомпилировать статически, а другие оставить динамически загружаемыми.

Просто под солярой не рекомендовано libdl компилировать статически.
Я бы хотел так:

gcc -o result -static myfile1.o myfile2.o myfile3.o -Bdymanic -ldl -Bstatic -lz

Но вот не работает :(


"zlib и статическая компиляця"
Отправлено hatta , 20-Янв-05 22:32 

>Я бы хотел так:
>
>gcc -o result -static myfile1.o myfile2.o myfile3.o -Bdymanic -ldl -Bstatic -lz
>
>Но вот не работает :(

хз, я не пробовал, но может так сработает

ld -o result *.o -dynamic -ldl -static -lz -lc

или чегонибудь в таком духе.


"zlib и статическая компиляця"
Отправлено qq , 21-Янв-05 00:24 
>>>У меня ступор:
>>
>>надо -lz ставить в конец командной строчки.
>>типа gcc -o result -static myfile1.o myfile2.o myfile3.o -lz
>
>тьфу ты.. утро вечера мудренее.
>
>Еще вопрос. Можно ли как нибудь одни библиотеки прикомпилировать статически, а другие
>оставить динамически загружаемыми.
>
>Просто под солярой не рекомендовано libdl компилировать статически.
>Я бы хотел так:
>
>gcc -o result -static myfile1.o myfile2.o myfile3.o -Bdymanic -ldl -Bstatic -lz
>
>Но вот не работает :(

поиском пользовался?

http://www.opennet.me/openforum/vsluhforumID9/3270.html#10