Ich habe versucht, eine Quelldatei zu kompilieren, die <math.h>
enthält. Allerdings gelang es mir, eine ausführbare Datei zu erstellen, kein Fehler ohne Verbindung zu libm.a
.C libm.a muss beim Kompilieren nicht verknüpft werden
Der Befehl war ich getippt gcc -Wall filename.c -o executablename
Ich war mit den externen Bibliotheken zu verknüpfen gesagt (d/Bibliotheken außer libc.a)
Was ist los?
#include <math.h>
#include <stdio.h>
int main(void)
{
double x = sqrt(2.0);
printf ("The sqrt of 2 is: %f\n", x);
return 0;
}
Welche Plattform? Unter Mac OS X ist das zum Beispiel normal. Wie haben Sie die Funktionen von '' benutzt? Wenn die Werte vom Compiler berechnet werden könnten, dann waren sie wahrscheinlich und die Funktionen müssen nicht in der ausführbaren Datei aufgerufen werden, so dass die Verknüpfung nicht bemerken würde, dass Sie nicht mit der Mathematikbibliothek verbunden sind. –
Fügen Sie Ihrer Befehlszeile ein '-v' hinzu und Sie werden sofort sehen, was vor sich geht. –
Ist das ein Copy-Paste des genauen Codes, den Sie verwenden? Weil 'sqrt()' nur ein Argument benötigt, nicht zwei. –