ubuntuusers.de

Probleme mit dem C-Compiler

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

pap511

Anmeldungsdatum:
21. August 2005

Beiträge: 77

Wohnort: Hamburg

Mein C-Compiler erkennt offenbar keine math. Funktionen, wie sin, cos, tan, sqrt etc. Beim Kompilieren folgendes Quelltextes:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double x=sqrt(9);
printf ("%f",x);
return 0;
} 

bekomme ich folgende Fehlermeldung:

paul@ubuntu:~$ make test -lm
cc     test.c   -o test
/tmp/ccMVt60k.o(.text+0x1a): In function `main':
: undefined reference to `sqrt'
collect2: ld returned 1 exit status
make: *** [test] Fehler 1 

libc6-dev ist installiert
habe dann noch dieses versucht:

apt-get install --reinstall libc6-dev 


jedoch ohne Erfolg.
Und weiss jetzt nicht weiter... 😕
Für eine Antwort und womöglich Lösung dieses Problems wäre ich echt dankbar!
Paul

umarmung Team-Icon

Avatar von umarmung

Anmeldungsdatum:
26. Oktober 2004

Beiträge: 5632

Dein Makefile gibt gibt die Option -lm nicht weiter.

gcc -lm test.c -o test


...und der Compiler ist froh. ☺

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

Um genau zu sein, es ist nicht der Compiler, sondern der Linker der sich beschwert.

sowatt

Anmeldungsdatum:
30. Oktober 2004

Beiträge: 72

Wohnort: Hamburg

Moin,
wenn Du die Datei nicht test.c sondern try.c oder sonstwie.c
nennst dann klappt das auch so mit dem Compilieren.
Habe mal gelesen das es mit der Dateibezeichnung test irgendwelche
Probleme geben kann, frag mich aber nicht genauer, Sorry.

MfG
sowatt

MrMind

Avatar von MrMind

Anmeldungsdatum:
25. Mai 2005

Beiträge: 70

Wohnort: Odw.

sowatt hat geschrieben:

Moin,
wenn Du die Datei nicht test.c sondern try.c oder sonstwie.c
nennst dann klappt das auch so mit dem Compilieren.
Habe mal gelesen das es mit der Dateibezeichnung test irgendwelche
Probleme geben kann, frag mich aber nicht genauer, Sorry.

MfG
sowatt

Also ob es durch die Umbenennung besser geht, bezweifel ich, aber hast schon Recht, das es mit test nicht funktionieren kann, da Linux an sich ein Programm namens test mitliefert und somit es zu Problemen kommen kann.

Mfg
MrMind

pap511

(Themenstarter)

Anmeldungsdatum:
21. August 2005

Beiträge: 77

Wohnort: Hamburg

gcc -lm test.c -o test

OK, das hätten wir schon mal, vielen Dank! Geht das auch mit "make"? Also

make -lm 

geht nicht. Wie mache ich es dann?

Es geht darum, ich will ein Programm (mbsystem-5.0.7) installieren und bekomme beim Kompilieren eine Reihe von Fehlermeldungen:

/opt/mbsystem-5.0.7/src/surf/pb_math.c:157: undefined reference to `sin' 
/opt/mbsystem-5.0.7/src/proj/PJ_bonne.c:18: undefined reference to `cos'

usw.

Wie wid denn die mathlib in "make" eingebunden?

Apollon

Avatar von Apollon

Anmeldungsdatum:
27. Oktober 2004

Beiträge: 724

Wohnort: Darmstadt

Per Hand, indem Du die makefile bearbeitest.

pap511

(Themenstarter)

Anmeldungsdatum:
21. August 2005

Beiträge: 77

Wohnort: Hamburg

Wie kann man denn das Makefile dazu bringen die Option -lm weiter zu geben?

Das Makefile besteht, abgesehen von Kommentaren, aus folgendem Code:

all:
   cd src; make all

clean:
   - cd bin; rm -f *
   - cd lib; rm -f *
   - cd include; rm -f *
   - cd src; make clean 

Apollon

Avatar von Apollon

Anmeldungsdatum:
27. Oktober 2004

Beiträge: 724

Wohnort: Darmstadt

Ist nicht das richtige makefile.

pap511

(Themenstarter)

Anmeldungsdatum:
21. August 2005

Beiträge: 77

Wohnort: Hamburg

OK, so langsam habe ich raus. Es läuft jetzt so weit, bis zur nächsten Fehlermeldung:

mbedit.c:26:19: Xm/Xm.h: Datei oder Verzeichnis nicht gefunden
mbedit.c:27:24: Xm/DialogS.h: Datei oder Verzeichnis nicht gefunden
mbedit.c:28:24: Xm/RepType.h: Datei oder Verzeichnis nicht gefunden
mbedit.c:29:24: Xm/MwmUtil.h: Datei oder Verzeichnis nicht gefunden

Wie kann ich rausfinden in welchem Paket z. B. die Datei Xm.h zu finden ist?

Apollon

Avatar von Apollon

Anmeldungsdatum:
27. Oktober 2004

Beiträge: 724

Wohnort: Darmstadt

pap511

(Themenstarter)

Anmeldungsdatum:
21. August 2005

Beiträge: 77

Wohnort: Hamburg

Super, es läuft!
Vielen, vielen Dank für Eure Hilfe. Ist doch ein super Forum hier. Macht weiter so!

Paul 😀

Antworten |