2010-11-02 13 views
5

En mi no administrado fuente en C++ que tengo:M_PI en VS2010: trabajar en depuración conf pero no en la versión

#define _USE_MATH_DEFINES 
#include <cmath> 

y luego utilizar M_PI un par de veces. Compilar en la configuración de depuración funciona a la perfección, pero en la versión que da: C2065

error: 'M_PI': identificador no declarado

Cuál podría ser la propiedad de configuración causando esto?

Respuesta

6

Resuelto.

me había puesto

#define _USE_MATH_DEFINES 

antes

#include "stdafx.h" 

Con encabezados precompilados en (/ Yu), ya que está en modo de lanzamiento, por encima de todo lo que se ignora.

+0

tengo que amar encabezados precompilados ... – jalf

1

Cuidado con las diferencias en la depuración configuraciones y suelte:

Lo más importante:

  • incluir archivos
  • define
3

El siguiente código compila bien tanto en la depuración y lanzamiento para mí:

#define _USE_MATH_DEFINES 
#include <cmath> 

int main(void) 
{ 
    double x = M_PI; 
    return 0; 
} 

Su problema puede estar en otra parte de su código. ¿Tiene compilación condicional en cualquier lugar para los modos de depuración o liberación?

Cuestiones relacionadas