Ich habe gerade MinGW mit mingw-get-setup
und aktualisiert Ich bin nicht in der Lage, Anyting zu erstellen, die <cmath>
Header enthält, wenn ich etwas größer als -O0
mit -std=c++1y
verwenden. (Ich habe auch versucht c++11
und c++98
) Ich erhalte Fehler wie diese:-O1/2/3 mit -std = C++ 1y/11/98 - Wenn <cmath> enthalten ist bekomme ich Fehler: '_hypot' wurde nicht in diesem Bereich deklariert
g++.exe -pedantic-errors -pedantic -Wextra -Wall -std=c++1y -O3 -c Z:\Projects\C++\L6\src\events.cpp -o obj\src\events.o
In file included from z:\lander\mingw\lib\gcc\mingw32\4.8.1\include\c++\cmath:44:0,
from Z:\Projects\C++\L6\src\utils.h:4,
from Z:\Projects\C++\L6\src\events.cpp:10:
z:\lander\mingw\include\math.h: In function 'float hypotf(float, float)':
z:\lander\mingw\include\math.h:635:30: error: '_hypot' was not declared in this scope
{ return (float)(_hypot (x, y)); }
Stimmt etwas nicht auf meiner Seite?
Oder Version bei Mingw Repo ist abgehört? Und wenn ja, gibt es eine schnelle Lösung für diesen Header?
Haben Sie versucht, '-lm' am Ende der' g ++ 'Kommandozeile hinzuzufügen? –
@KeithThompson Gleicher Fehler. Kannst du es reproduzieren? – HolyBlackCat
Tritt das Problem bei * any * -Programmen auf, die '#include' enthalten, oder nur bei Programmen, die 'hypot()' aufrufen? –