* [Comm] gcc
@ 2003-05-15 18:10 Andrey Rybak
2003-05-15 19:04 ` [Comm] gcc Alexey Tourbin
0 siblings, 1 reply; 14+ messages in thread
From: Andrey Rybak @ 2003-05-15 18:10 UTC (permalink / raw)
To: community
На старости лет обнаружил, что не умею пользоваться gcc.
Подскажите, как скомпилировать программу с вызовами функций sqrt(),
exp(), sin() и иже с ними без сообщений компиллятора:
/home/andrey/tmp/cctwjuhg.o(.text+0x2c): undefined reference to `sqrt'
/home/andrey/tmp/cctwjuhg.o(.text+0x4c): undefined reference to `pow'
/home/andrey/tmp/cctwjuhg.o(.text+0x7a): undefined reference to `exp'
#include<math.h> есть.
сам файл math.h есть (по тому же пути где и stdio.h), причем подобных
ошибок для функций printf(), puts() etc. не наблюдается. Мало того, и
программы с использованием функций, объявленных в stdio.h работают
корректно. Помогите, пожалуйста.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Comm] Re: gcc
2003-05-15 18:10 [Comm] gcc Andrey Rybak
@ 2003-05-15 19:04 ` Alexey Tourbin
2003-05-16 8:24 ` Andrey Rybak
2003-05-16 22:29 ` Andrey Golovin
0 siblings, 2 replies; 14+ messages in thread
From: Alexey Tourbin @ 2003-05-15 19:04 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 794 bytes --]
On Thu, May 15, 2003 at 09:10:07PM +0300, Andrey Rybak wrote:
> На старости лет обнаружил, что не умею пользоваться gcc.
> Подскажите, как скомпилировать программу с вызовами функций sqrt(),
> exp(), sin() и иже с ними без сообщений компиллятора:
> /home/andrey/tmp/cctwjuhg.o(.text+0x2c): undefined reference to `sqrt'
> /home/andrey/tmp/cctwjuhg.o(.text+0x4c): undefined reference to `pow'
> /home/andrey/tmp/cctwjuhg.o(.text+0x7a): undefined reference to `exp'
-lm
> #include<math.h> есть.
> сам файл math.h есть (по тому же пути где и stdio.h), причем подобных
> ошибок для функций printf(), puts() etc. не наблюдается. Мало того, и
> программы с использованием функций, объявленных в stdio.h работают
> корректно. Помогите, пожалуйста.
Потому что -lc влинковывается по умолчанию.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] Re: gcc
2003-05-15 19:04 ` [Comm] gcc Alexey Tourbin
@ 2003-05-16 8:24 ` Andrey Rybak
2003-05-16 13:25 ` Alexey Tourbin
2003-05-19 11:17 ` Andrey Rybak
2003-05-16 22:29 ` Andrey Golovin
1 sibling, 2 replies; 14+ messages in thread
From: Andrey Rybak @ 2003-05-16 8:24 UTC (permalink / raw)
To: community
Alexey Tourbin wrote:
>On Thu, May 15, 2003 at 09:10:07PM +0300, Andrey Rybak wrote:
>
>
>>На старости лет обнаружил, что не умею пользоваться gcc.
>>Подскажите, как скомпилировать программу с вызовами функций sqrt(),
>>exp(), sin() и иже с ними без сообщений компиллятора:
>>/home/andrey/tmp/cctwjuhg.o(.text+0x2c): undefined reference to `sqrt'
>>/home/andrey/tmp/cctwjuhg.o(.text+0x4c): undefined reference to `pow'
>>/home/andrey/tmp/cctwjuhg.o(.text+0x7a): undefined reference to `exp'
>>
>>
>
>-lm
>
>
>
>>#include<math.h> есть.
>>сам файл math.h есть (по тому же пути где и stdio.h), причем подобных
>>ошибок для функций printf(), puts() etc. не наблюдается. Мало того, и
>>программы с использованием функций, объявленных в stdio.h работают
>>корректно. Помогите, пожалуйста.
>>
>>
>
>Потому что -lc влинковывается по умолчанию.
>
>
Спасибо, работает.
Т.к. хидеров много, и, очевидно, подобных затруднений будет много, а в
мане gcc я этих ключиков не увидел, то подскажите еще, где найти как
можно более полный справочный материал по gcc.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Comm] Re: gcc
2003-05-16 8:24 ` Andrey Rybak
@ 2003-05-16 13:25 ` Alexey Tourbin
2003-05-16 13:57 ` Andrey Rybak
2003-05-19 11:17 ` Andrey Rybak
1 sibling, 1 reply; 14+ messages in thread
From: Alexey Tourbin @ 2003-05-16 13:25 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 825 bytes --]
On Fri, May 16, 2003 at 11:24:09AM +0300, Andrey Rybak wrote:
> Т.к. хидеров много, и, очевидно, подобных затруднений будет много, а в
> мане gcc я этих ключиков не увидел, то подскажите еще, где найти как
Хедеры -- это только прототипы и макросы, там самого кода нет. Грубо
говоря, хедеры нужно только для того, чтобы проверить правильность
вашего кода на соответствие с чужим кодом. Для подключения самого кода
исползуются библиотеки.
Ключики нужно искать в man ld. Компилятор gcc (как и любой cc) состоит
из нескольких частей: cpp (препроцессор), cc1 (компилятор), as
(ассемблер) и ld (линкер). К каждой части есть свои флаги.
Нет, есть там такой ключик.
man gcc
/ *-llibrary
> можно более полный справочный материал по gcc.
Не знаю, тут нужно комплексное изучение.
Попробуйте info libc и info gcc (или pinfo).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] Re: gcc
2003-05-16 13:25 ` Alexey Tourbin
@ 2003-05-16 13:57 ` Andrey Rybak
2003-05-16 19:48 ` Alexey Tourbin
0 siblings, 1 reply; 14+ messages in thread
From: Andrey Rybak @ 2003-05-16 13:57 UTC (permalink / raw)
To: community
Alexey Tourbin wrote:
>On Fri, May 16, 2003 at 11:24:09AM +0300, Andrey Rybak wrote:
>
>
>>Т.к. хидеров много, и, очевидно, подобных затруднений будет много, а в
>>мане gcc я этих ключиков не увидел, то подскажите еще, где найти как
>>
>>
>
>Хедеры -- это только прототипы и макросы, там самого кода нет. Грубо
>говоря, хедеры нужно только для того, чтобы проверить правильность
>вашего кода на соответствие с чужим кодом. Для подключения самого кода
>исползуются библиотеки.
>
>Ключики нужно искать в man ld. Компилятор gcc (как и любой cc) состоит
>из нескольких частей: cpp (препроцессор), cc1 (компилятор), as
>(ассемблер) и ld (линкер). К каждой части есть свои флаги.
>
>Нет, есть там такой ключик.
>man gcc
>/ *-llibrary
>
>
>
>>можно более полный справочный материал по gcc.
>>
>>
>
>Не знаю, тут нужно комплексное изучение.
>Попробуйте info libc и info gcc (или pinfo).
>
>
Что такое хедеры я знаю, а за консультацию искреннее спасибо.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Comm] Re: gcc
2003-05-16 13:57 ` Andrey Rybak
@ 2003-05-16 19:48 ` Alexey Tourbin
0 siblings, 0 replies; 14+ messages in thread
From: Alexey Tourbin @ 2003-05-16 19:48 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 364 bytes --]
On Fri, May 16, 2003 at 04:57:16PM +0300, Andrey Rybak wrote:
> Что такое хедеры я знаю, а за консультацию искреннее спасибо.
Хотел ещё добавить, что -lm -- это подключение математической
библиотеки, а не какой-то специальный ключик gcc. :) -lc -- стандартная
библиотека Си. Ключик -l%name просто ищет библиотеку lib%name.so или
lib%name.a в /lib или /usr/lib.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] Re: gcc
2003-05-15 19:04 ` [Comm] gcc Alexey Tourbin
2003-05-16 8:24 ` Andrey Rybak
@ 2003-05-16 22:29 ` Andrey Golovin
2003-05-17 0:32 ` Alexey Tourbin
2003-05-17 13:39 ` Vitaly Lugovsky
1 sibling, 2 replies; 14+ messages in thread
From: Andrey Golovin @ 2003-05-16 22:29 UTC (permalink / raw)
To: community
В Чтв, 15.05.2003, в 23:04, Alexey Tourbin написал:
> On Thu, May 15, 2003 at 09:10:07PM +0300, Andrey Rybak wrote:
> > На старости лет обнаружил, что не умею пользоваться gcc.
> > Подскажите, как скомпилировать программу с вызовами функций sqrt(),
> > exp(), sin() и иже с ними без сообщений компиллятора:
> > /home/andrey/tmp/cctwjuhg.o(.text+0x2c): undefined reference to `sqrt'
> > /home/andrey/tmp/cctwjuhg.o(.text+0x4c): undefined reference to `pow'
> > /home/andrey/tmp/cctwjuhg.o(.text+0x7a): undefined reference to `exp'
>
> -lm
Или -ffast-math (Если не ошибаюсь...)
--
Andrey Golovin <aigolovin@hotbox.ru>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Comm] Re: gcc
2003-05-16 22:29 ` Andrey Golovin
@ 2003-05-17 0:32 ` Alexey Tourbin
2003-05-17 11:51 ` Andrey Golovin
2003-05-17 13:39 ` Vitaly Lugovsky
1 sibling, 1 reply; 14+ messages in thread
From: Alexey Tourbin @ 2003-05-17 0:32 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 154 bytes --]
On Sat, May 17, 2003 at 02:29:54AM +0400, Andrey Golovin wrote:
> > -lm
> Или -ffast-math (Если не ошибаюсь...)
Ошибаетесь. Это опция оптимизации кода.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] Re: gcc
2003-05-17 0:32 ` Alexey Tourbin
@ 2003-05-17 11:51 ` Andrey Golovin
2003-05-17 13:45 ` Vitaly Lugovsky
2003-05-17 13:50 ` Alexey Tourbin
0 siblings, 2 replies; 14+ messages in thread
From: Andrey Golovin @ 2003-05-17 11:51 UTC (permalink / raw)
To: community
В Сбт, 17.05.2003, в 04:32, Alexey Tourbin написал:
> On Sat, May 17, 2003 at 02:29:54AM +0400, Andrey Golovin wrote:
> > > -lm
> > Или -ffast-math (Если не ошибаюсь...)
>
> Ошибаетесь. Это опция оптимизации кода.
А Вы попробуйте :) ГЦЦ 2.х чудненько создает программу с этой опцией без
-lm так как встраивает всю математику непосредственно в программу и
никакие библиотеки ей не нужны. С ГЦЦ 3 не пробовал.
--
Andrey Golovin <aigolovin@hotbox.ru>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] Re: gcc
2003-05-16 22:29 ` Andrey Golovin
2003-05-17 0:32 ` Alexey Tourbin
@ 2003-05-17 13:39 ` Vitaly Lugovsky
1 sibling, 0 replies; 14+ messages in thread
From: Vitaly Lugovsky @ 2003-05-17 13:39 UTC (permalink / raw)
To: community
On Sat, 17 May 2003, Andrey Golovin wrote:
> > -lm
> Или -ffast-math (Если не ошибаюсь...)
Это только некоторые кривенькие инлайны вставит. Не стоит ВООБЩЕ
этой фичёй gcc пользоваться. Никогда.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] Re: gcc
2003-05-17 11:51 ` Andrey Golovin
@ 2003-05-17 13:45 ` Vitaly Lugovsky
2003-05-17 13:50 ` Alexey Tourbin
1 sibling, 0 replies; 14+ messages in thread
From: Vitaly Lugovsky @ 2003-05-17 13:45 UTC (permalink / raw)
To: community
On Sat, 17 May 2003, Andrey Golovin wrote:
> > > Или -ffast-math (Если не ошибаюсь...)
> >
> > Ошибаетесь. Это опция оптимизации кода.
> А Вы попробуйте :) ГЦЦ 2.х чудненько создает программу с этой
> опцией без
> -lm так как встраивает всю математику непосредственно в
> программу и
> никакие библиотеки ей не нужны. С ГЦЦ 3 не пробовал.
То, что он встраивает - не математика, а грязные хаки. Скорость
ценой значительной потери точности. Давить такой подход.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Comm] Re: gcc
2003-05-17 11:51 ` Andrey Golovin
2003-05-17 13:45 ` Vitaly Lugovsky
@ 2003-05-17 13:50 ` Alexey Tourbin
1 sibling, 0 replies; 14+ messages in thread
From: Alexey Tourbin @ 2003-05-17 13:50 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 484 bytes --]
On Sat, May 17, 2003 at 03:51:44PM +0400, Andrey Golovin wrote:
> А Вы попробуйте :) ГЦЦ 2.х чудненько создает программу с этой опцией без
> -lm так как встраивает всю математику непосредственно в программу и
> никакие библиотеки ей не нужны. С ГЦЦ 3 не пробовал.
$ cat mtest.c
main(){cos(1);}
$ gcc-2.96 mtest.c -ffast-math
cc3uIFRO.o: In function `main':
cc3uIFRO.o(.text+0x11): undefined reference to `cos'
collect2: ld returned 1 exit status
$ gcc-2.96 mtest.c -ffast-math -lm
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Comm] Re: gcc
2003-05-16 8:24 ` Andrey Rybak
2003-05-16 13:25 ` Alexey Tourbin
@ 2003-05-19 11:17 ` Andrey Rybak
2003-05-19 12:08 ` Alexey Tourbin
1 sibling, 1 reply; 14+ messages in thread
From: Andrey Rybak @ 2003-05-19 11:17 UTC (permalink / raw)
To: community
>
>
>> On Thu, May 15, 2003 at 09:10:07PM +0300, Andrey Rybak wrote:
>>
>>
>>> На старости лет обнаружил, что не умею пользоваться gcc.
>>> Подскажите, как скомпилировать программу с вызовами функций sqrt(),
>>> exp(), sin() и иже с ними без сообщений компиллятора:
>>> /home/andrey/tmp/cctwjuhg.o(.text+0x2c): undefined reference to `sqrt'
>>> /home/andrey/tmp/cctwjuhg.o(.text+0x4c): undefined reference to `pow'
>>> /home/andrey/tmp/cctwjuhg.o(.text+0x7a): undefined reference to `exp'
>>>
>>
>>
>> -lm
>>
> А как заставить такой вот ключик работать для консольного типа
> аппликух в KDevelop? (Аналогичные ошибки компиляции)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Comm] Re: gcc
2003-05-19 11:17 ` Andrey Rybak
@ 2003-05-19 12:08 ` Alexey Tourbin
0 siblings, 0 replies; 14+ messages in thread
From: Alexey Tourbin @ 2003-05-19 12:08 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 234 bytes --]
On Mon, May 19, 2003 at 02:17:50PM +0300, Andrey Rybak wrote:
> >А как заставить такой вот ключик работать для консольного типа
> >аппликух в KDevelop? (Аналогичные ошибки компиляции)
Разбирайтесь, где там подключаются библиотеки.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2003-05-19 12:08 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-15 18:10 [Comm] gcc Andrey Rybak
2003-05-15 19:04 ` [Comm] gcc Alexey Tourbin
2003-05-16 8:24 ` Andrey Rybak
2003-05-16 13:25 ` Alexey Tourbin
2003-05-16 13:57 ` Andrey Rybak
2003-05-16 19:48 ` Alexey Tourbin
2003-05-19 11:17 ` Andrey Rybak
2003-05-19 12:08 ` Alexey Tourbin
2003-05-16 22:29 ` Andrey Golovin
2003-05-17 0:32 ` Alexey Tourbin
2003-05-17 11:51 ` Andrey Golovin
2003-05-17 13:45 ` Vitaly Lugovsky
2003-05-17 13:50 ` Alexey Tourbin
2003-05-17 13:39 ` Vitaly Lugovsky
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git