Ho appena aggiornato MinGW utilizzando mingw-get-setup
e non sono in grado di creare alcun elemento che contenga l'intestazione <cmath>
se utilizzo qualcosa di più grande di -O0
con -std=c++1y
. (Ho provato anche c++11
e c++98
) sto ottenendo gli errori come questo:-O1/2/3 con -std = C++ 1y/11/98 - Se <cmath> è incluso sto ricevendo errore: '_hypot' non è stato dichiarato in questo ambito
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)); }
sia qualcosa di sbagliato con me?
Oppure la versione di repo mingw è bug? E se sì, c'è una soluzione rapida per questa intestazione?
Hai provato ad aggiungere '-lm' alla fine della riga di comando' g ++ '? –
@KeithThompson Stesso errore. Sei in grado di riprodurlo? – HolyBlackCat
Il problema si verifica con * qualsiasi * programma che ha '#include', o solo con programmi che chiamano 'hypot()'? –