Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 14 odgovora
  • 4.938 pregleda

Najnovija ↓

Moj gcc ima shizofreniju: ne vidi sin, cos... 02.10.2002. u 18:46 · pre 293 meseca #1
Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
        float f=cos(1.23);
}


# gcc test.c -o test
/tmp/ccVGgwAM.o: In function `main':
/tmp/ccVGgwAM.o(.text+0x16): undefined reference to `cos'
collect2: ld returned 1 exit status

???
Da odmah uklonim sumnju da je math.h na bilo koji nacin ostecen, nije uopste menjan.
Distribucija je slack 8.1
Re: Moj gcc ima shizofreniju: ne vidi sin, cos... 03.10.2002. u 00:23 · pre 293 meseca #6
Nema nikakve veze sa distribucijom niti sa verzijom unix-a, libm.so (libm.a) nikad nije po default-u linkovan, bar kad je o gcc-u rec.
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Re: Moj gcc ima shizofreniju: ne vidi sin, cos... 03.10.2002. u 14:37 · pre 293 meseca #8
Alex, kladi se! :)
Kod mene RH 7.2 i mora -lm...
Potpis
"The most likely way for the world to be destroyed, most experts agree, is by
accident. That's where we come in; we're computer professionals. We cause
accidents." - Nathaniel Borenstein
Re: Moj gcc ima shizofreniju: ne vidi sin, cos... 03.10.2002. u 15:05 · pre 293 meseca #9
Citat:
Predrag Damnjanovic:

# gcc test.c -o test
/tmp/ccVGgwAM.o: In function `main':
/tmp/ccVGgwAM.o(.text+0x16): undefined reference to `cos'
collect2: ld returned 1 exit status


Predraže,

moraš obavezno dodati linkersku opciju -lm za linkovanje matematičke
biblioteke, ali obavezno na kraj komandne linije, ne u sredinu ili na
početak. Tako će sve biti u redu.

Dakle

Code:

# gcc -o test test.c -lm


Ne zaboravi takođe da pod UNIX-om postoji program /usr/bin/test koji je obično u PATH-u pre trenutnog direktorijuma tako da ćeš program morati da pokreneš sa:

Code:

# ./test


Pozdrav,
f
v.d. gcc psihijatar :)


p.s. E, da, mislim da je default skript za g++ (dakle za c++ kompajler pri gcc-u namešten tako da po defaultu linkuje i libm), možda otud ona tvrdnja da -lm nije potreban.

Re: Moj gcc ima shizofreniju: ne vidi sin, cos... 03.10.2002. u 15:11 · pre 293 meseca #10
Citat:
Predrag Damnjanovic:
Alex, hoces da se kladimo da na je na RH-u linkovan po defaultu? :)


Hocu da se kladim - RH koristim veoma dugo (jos od 4.2) i znam o cemu pricam.
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Re: Moj gcc ima shizofreniju: ne vidi sin, cos... 03.10.2002. u 15:32 · pre 293 meseca #11
Citat:
filmil:
Ne zaboravi takođe da pod UNIX-om postoji program /usr/bin/test koji je obično u PATH-u pre trenutnog direktorijuma tako da ćeš program morati da pokreneš sa:

Code:

# ./test


U jeeeee, nisam znao :)

Alex, u sta se kladimo :)
Re: Moj gcc ima shizofreniju: ne vidi sin, cos... 03.10.2002. u 16:46 · pre 293 meseca #13
Citat:
Predrag Damnjanovic:
Alex, u sta se kladimo :)


Evo, probao sam na par masina kod mene:

Code:

login as: alex
Sent username "alex"
[email protected]'s password:
Last login: Thu Oct  3 14:33:57 2002 from rsp05.landspitali.is
[alex@postur alex]$ cat /etc/redhat-release
Red Hat Linux release 7.0 (Guinness)
[alex@postur alex]$ vi zastita.c
[alex@postur alex]$ gcc -o zastita zastita.c
/tmp/cceqD6ej.o: In function `main':
/tmp/cceqD6ej.o(.text+0x14): undefined reference to `cos'
collect2: ld returned 1 exit status
[alex@postur alex]$


To je bio RH 7.0

Code:

login as: alex
Sent username "alex"
[email protected]'s password:
Last login: Thu Oct  3 14:40:47 from rsp05.landspitali.is
[alex@apache alex]$ cat /etc/redhat-release
Red Hat Linux release 7.3 (Valhalla)
[alex@apache alex]$ gcc -o zastita zastita.c
/tmp/cc8sJCDm.o: In function `main':
/tmp/cc8sJCDm.o(.text+0x14): undefined reference to `cos'
collect2: ld returned 1 exit status
[alex@apache alex]$


To je bio RH 7.3

Trenutno nisam na poslu, pa ne mogu da se ulogujem na jos dve masine (RH 7.1 i RH 7.2), ali cu biti u firmi za par sati, pa cu i to probati i poslati ti rezultate.

Mada, zasigurno to nije ni potrebno, cim se libm.so ne linkuje po defaultu ni na 7.0 ni na 7.3..

Pozdrav,
alex.
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Re: Moj gcc ima shizofreniju: ne vidi sin, cos... 03.10.2002. u 16:49 · pre 293 meseca #14
Kao sto rece filmil, po libm.so se po defaultu linkuje samo sa g++:
Code:

[alex@apache alex]$ g++ -o zastita zastita.c
[alex@apache alex]$


Inace, Peco, mozemo se kladiti u sta god hoces..
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme