2010-11-02 11 views
5

Nel mio non gestito sorgente C++ che ho:M_PI in VS2010: lavorare in Debug conf ma non in uscita

#define _USE_MATH_DEFINES 
#include <cmath> 

e poi io uso M_PI un paio di volte. compilazione in configurazione di debug funziona perfettamente, ma in uscita dà:

Errore C2065: 'M_PI': identificatore non dichiarato

Quale potrebbe essere la proprietà di configurazione causa?

risposta

6

Risolto.

avevo messo

#define _USE_MATH_DEFINES 

prima

#include "stdafx.h" 

Con intestazioni precompilate su (/ Yu), in quanto è in modalità di rilascio, tutto sopra di esso viene ignorato.

+0

devo amare le intestazioni precompilate ... – jalf

1

attenzione per le differenze nelle configurazioni di debug e rilasciare:

più importante:

  • includere file
  • definisce
3

Il seguente codice compila bene in entrambi debug e rilascia per me:

#define _USE_MATH_DEFINES 
#include <cmath> 

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

Il problema potrebbe risiedere altrove nel codice. Avete una compilazione condizionale ovunque per le modalità di debug o di rilascio?

Problemi correlati