У меня ступор:#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
>У меня ступор:
>
>#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
>>У меня ступор:
>
>надо -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
Но вот не работает :(
>Я бы хотел так:
>
>gcc -o result -static myfile1.o myfile2.o myfile3.o -Bdymanic -ldl -Bstatic -lz
>
>Но вот не работает :(хз, я не пробовал, но может так сработает
ld -o result *.o -dynamic -ldl -static -lz -lc
или чегонибудь в таком духе.
>>>У меня ступор:
>>
>>надо -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
>
>Но вот не работает :(поиском пользовался?