Sto cercando di costruire, utilizzando MSVS 2010 il progetto ha trovato al seguente git:Build with MSVS 2010 e C++ standard di
https://github.com/Joonhwan/exprtk
Il problema è quando io commento la linea 48 ' #define exprtk_lean_and_mean 'nel file exprtk.hpp, ottengo il seguente errore del compilatore:
Error 1 error C1128: number of sections exceeded object file format limit : compile with /bigobj
Googling l'errore, sembra indicare che l'unità la traduzione compilato ha compilato a qualcosa di più grande di un limite arbitariy, e l'aggiunta di' bigobj 'alla linea di comando sh ould risolvere il problema (che fa). Compilando il codice con gcc (4.3), funziona senza problemi.
Le mie domande sono:
Does C++ posto un limite al numero di tipi che si può avere in un'unità di traduzione?
È il modo in cui il codice è definito in questo progetto di cattive pratiche? (Quando googling ho notato un sacco di librerie Boost hanno lo stesso problema ad esempio: Boost.Sprit)
Questi minimi nelle parentesi quadre, perché sono 'consigliato' non possono essere utilizzati come valori minimi che avrebbe definito se un compilatore è compatibile verso lo standard o no - è questo corretta? –
@GellyRistor: Sì, questo è vero. Ma la maggior parte dei compilatori conformi agli standard tradizionali soddisferà almeno questi requisiti minimi e lo fanno. –
Un'altra domanda, data la lista sopra, quale di questi definisce il numero raccomandato di "sezioni" di cui si lamenta il compilatore msvc 2010? –