Ich programmiere ein c-Projekt, das die in math.h definierte pow-Funktion verwenden muss. Und als ich versuchte, das Projekt zu machen, gcc gab den folgenden Link Fehler: undefined Bezug auf `pow '.Einige Fragen zum Verknüpfen der Mathematikbibliothek
Ich weiß, dass die -lm-Option in meine Link-Anweisung hinzugefügt werden muss, aber es gibt immer noch einige Fragen, die mich verwirren.
Q1: Wenn ich zwei Konstanten in Pow-Funktion übergeben, ist die Verknüpfung ohne -lm erfolgreich. Warum?
Q2: -lm am Ende oder am Anfang der Link-Anweisung führt zu unterschiedlichen Ergebnissen. gcc -lm $ (OBJS) -o exbin ist falsch, aber gcc $ (OBJS) -o exbin -lm ist korrekt. Warum?
Ich benutze ubuntu 11.10 und gcc 4.4.4.
Danke! Bitte entschuldige meinen Pool Englisch.
Sie benötigen keine speziellen Linker-Optionen, um den Standard math.h. Und "pow" benötigt 2 Argumente, weshalb es Ihnen keine Fehler gibt, wenn Sie es (richtig) benutzen. – Perception