Ich habe den folgenden Code in meinem Eclipse-ProjektDefined Makro nicht erkannt
#pragma once
#ifdef WIN32 // Compiler enters here !
#define M_PI 3.14159265358979323846
#else
#include <cmath>
#endif
#ifndef INFINITY
#define INFINITY FLT_MAX
#endif
inline float Radians(float deg)
{
return ((float)M_PI/180.f) * deg;
}
Problem ist, dass ich die folgende Fehlermeldung vom Compiler immer
Luzoso.hpp:22:20: error: 'M_PI' was not declared in this scope
return ((float)M_PI/180.f) * deg;
Ich verstehe nicht, was die Problem könnte sein. Ich habe das Projekt mit CMake unter Verwendung von ECLIPSE CDT4 - MinGW Makefiles
als Generator erstellt. Irgendwelche Ratschläge?
Sie könnten '__MINGW32__' anstelle von' WIN32' versuchen ...? Oder vielleicht '_WIN32'? Sie können versuchen, '-E' zu sehen, Compiler-Ausgabe nach der Vorverarbeitung, dann suchen Sie das für' M_PI'. –
Ihr Beitrag zeigt nicht an, welche Bedingung im '# ifdef' ausgelöst wurde. War es die WIN32-Bedingung oder nicht? – PaulMcKenzie
Ist 'WIN32' definiert? – immibis