Hallo Leute, ich hatte gerade einen stundenlangen Lauf, mein kleines C Programm näherte sich der Vollendung. Doch jetzt geht die sqrt Funktion nicht. Für dieses Bildschirmfoto muss ich mich entschuldigen, der Laptop ist nicht mit dem Internet verbunden. Was mache ich falsch? math.h , studio.h und stdlib.h sind im ist/include Ordner. Der Rechner hat Linux Mint, der Compiler heißt gcc. Alles was ich vorher gemacht habe hat geklappt, ich brauche noch die sqrt Funktion und atan2. Ich bin nochmal ganz von Anfang angefangen für die sqrt Funktion. gcc sqrt.c -o sqrt Die Fehlermeldung: /tmp/cccy0www.o: In Funktion 'main': sqrt.c:(.text+0x23): Nicht definierter Verweis auf 'sqrt' collect2: error: ld returned 1 exit status
-lm zu den Compileroptionen hinzufügen. Mathebibliothek wird sonst nicht gelinkt.
Jemand schrieb: > -lm zu den Compileroptionen hinzufügen. Mathebibliothek wird sonst > nicht gelinkt. Klappt auch nicht. Ich tippe: gcc sqrt.c -o -lm sqrt gcc: error: sqrt: Datei oder Verzeichnis nicht gefunden
Mit gcc sqrt.c -lm -o sqrt klappt es. Ganz vielen lieben Dank für deine Hilfe!!!
Karl der Käfer schrieb: > Jemand schrieb: >> -lm zu den Compileroptionen hinzufügen. Mathebibliothek wird sonst >> nicht gelinkt. > > Klappt auch nicht. > > Ich tippe: gcc sqrt.c -o -lm sqrt > > gcc: error: sqrt: Datei oder Verzeichnis nicht gefunden Du D???, man liest sich die Compileroptionen erst mal durch bevor man sie verwendet, insbesonders achtet man darauf, ob nach der Option vielleicht noch ne [Pflicht]angabe folgt. http://www.nsc.ru/cgi-bin/www/unix_help/unix-man?cc+1
1 | -o file |
2 | Place output in file file. This applies regardless to whatever |
3 | sort of output GCC is producing, whether it be an executable |
4 | file, an object file, an assembler file or preprocessed C code. |
> Compileroptionen erst mal durch
Wenn es ein Lötkolben gewesen wär, hätte er jetzt Brandblasen!
Und die nicht am Hirn.
Noch etwas: printf kennt kein %lf Für float und double gilt das einfache %f Viel Implementierungen dulden es. (ich hatte gerade einen Fall, wo das zum Absturz führte gcc unter Windows)
Dirk B. schrieb: > Noch etwas: > > printf kennt kein %lf > Für float und double gilt das einfache %f > Viel Implementierungen dulden es. > > (ich hatte gerade einen Fall, wo das zum Absturz führte gcc unter > Windows) Das liegt daran, daß float auf double erweitert wird, bevor es als Parameter übergeben wird,es sei denn der Funktionsprototyp erwartet float. Vergleiche mit ... bei printf(). BTW, bei AVR8 ist double identisch mit float, so daß man solche Feinheiten nicht bemerkt.
:
Bearbeitet durch User
Karl der Käfer schrieb: > Für dieses Bildschirmfoto muss ich mich entschuldigen, der Laptop > ist nicht mit dem Internet verbunden. Was mache ich falsch? Trotz eines selbstleuchtenden Bildschirms versuchst du, auch die dunklen Stellen (Buchstaben) durch ein Zusatzlicht aufzuhellen. Das ist kontraproduktiv.
my2ct schrieb: > Karl der Käfer schrieb: > Für dieses Bildschirmfoto muss ich mich entschuldigen, der Laptop > ist nicht mit dem Internet verbunden. Was mache ich falsch? > > Trotz eines selbstleuchtenden Bildschirms versuchst du, auch die dunklen > Stellen (Buchstaben) durch ein Zusatzlicht aufzuhellen. Das ist > kontraproduktiv. Oh, Entschuldigung, habe erst hinterher gemerkt, das der Handyblitz mit auf das Bild wollte ;-) Ich verspreche auch, in Zukunft denselben Fehler nicht nochmals zu machen, sondern werde nach neuen Blödheiten Ausschau halten.
Karl der Käfer schrieb: > Ich verspreche auch, in Zukunft denselben Fehler nicht nochmals zu > machen, sondern werde nach neuen Blödheiten Ausschau halten. Stell mal die Fehlermeldungen auf englisch (LANG&Co), dann googlen sie sich einfacher...
Beitrag #6166771 wurde vom Autor gelöscht.
Dirk B. schrieb: > Noch etwas: > > printf kennt kein %lf Doch. Es nutzt nichts, schadet aber auch nicht. Aus dem Standard (Abschnitt 7.21.6.1, Absatz 7 im Entwurf N2455) zum length modifier l: "[…]has no effect on a following a, A, e, E, f, F, g, or G conversion specifier."
Isolanporzellator schrieb: > Ein Displaytext gewinnt durch einen Blitz keinen Kontrast! Die Kugel ist eine Genkidama. Ist doch logisch.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.