Роман Кисилев -> Artem Chuprina @ Thu, 27 Sep 2007 15:59:58 +0400:
>> РК> Суть проблемы: >> РК> Система Debian Etch x86_64 >> РК> Есть кусок кода, написанный с участием библиотеки SFL от IMATRIX >> РК> (www.imatrix.com) еще лет 5 назад. >> РК> Библиотеку стянул, после доработки напильником файлы стали >> компилироваться, но >> РК> линковаться не хотят. >> РК> С линковщиком никогда не заморачивался, поэтому даже понять не могу, >> что ему >> РК> надо. Пишет вот такую шнягу: >> >> РК> /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/crt1.o: In >> function >> РК> _start': >> РК> ../sysdeps/x86_64/elf/start.S:109: undefined reference to `main' >> РК> sflbits.o: In function `bits_create': >> РК> sflbits.c:(.text+0x1d): undefined reference to `mem_alloc_' >> РК> sflbits.c:(.text+0x5b): undefined reference to `mem_alloc_' >> РК> sflbits.c:(.text+0xd2): undefined reference to `mem_free_' >> >> >> РК> и т.д. много раз. >> РК> Может кто подскажет куда копать, а то время поджимает. >> РК> Заранее спасибо за ответы! >> >> Судя по ругани на отсутствие функции main, ты ее пытаешься собирать как >> программу, а надо - как библиотеку (-shared, если речь идет о gcc). >> >> РК> Спасибо. Опция -shared помогла, правда попросила еще и -fPIC - это что такое? Создавать перемещаемый код (Position-Independent Code). Поскольку библиотека shared, в какое место в памяти ее положит загрузчик - это как повезер. Компилятор, кажется, уже при компиляции объектников должен быть об этом в курсе. При линковке так точно. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED] Unix-like -- для кинестетиков, Emacs -- для аудиалов, Mac -- для визуалов, Windows -- для чайников RockMover in <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]