Ho problemi significativi nella configurazione di flycheck per C++ 11. In questo momento, flycheck segnala cose come std::to_string()
. Il correttore che sto usando è solo g ++. Cosa posso aggiungere nel file .emacs in modo tale che flycheck assumerà C++ 11 per impostazione predefinita?Configurazione di Flycheck per lavorare con C++ 11
risposta
Flycheck fornisce l'opzione flycheck-gcc-language-standard
per questo scopo. Non si dovrebbe impostare a livello globale, perché questo si romperà il controllo del file C, ma è possibile impostare dal c++-mode-hook
con il seguente codice nel file init:
(add-hook 'c++-mode-hook (lambda() (setq flycheck-gcc-language-standard "c++11")))
Tuttavia, mi sento di raccomandare contro questo. Utilizzare invece Directory Variables per configurare lo standard di lingua per progetto.
Aprire la directory principale del progetto in Dired with C-x d
, quindi digitare M-x add-dir-local-variable RET c++-mode RET flycheck-gcc-language-standard RET "c++11"
. Ciò creerà un file .dir-locals.el
nella directory principale del progetto. Emacs legge questo file ogni volta che visiti un file da questa directory o da qualsiasi sottodirectory e imposta le variabili in base alle regole in questo file. In particolare, Emacs imposterà ora lo standard di linguaggio per il controllo della sintassi Flycheck in C++ 11 per tutti i file C++ nel progetto.
Molto buone risposte già. Voglio solo aggiungere che, se si utilizza invece clang
, la variabile da modificare è flycheck-clang-language-standard
.
o aggiungi una riga "-std = C++ 11" nel file .clang_complete che si trova nella directory principale del tuo progetto. – elinx
- 1. Ottenere GCC in modalità C++ 11 per lavorare su FreeBSD
- 2. Configurazione di C++ 11 in Netbeans
- 3. Configurazione dell'ambiente Intellij e AWS per lavorare con DynamoDB
- 4. Come aggiungere include path to flycheck c/C++ - clang?
- 5. configurazione del flusso d'aria di lavorare con CeleryExecutor
- 6. Cython: lavorare con C++ flussi
- 7. C++ lib per lavorare con REST api per principianti
- 8. Funzionalità C++ 11 con MinGW
- 9. C++ 11 segnaposto con spinta
- 10. C++ 11 thread con clang
- 11. C point pointer con C++ 11 lambda
- 12. Compilazione di C++ 11 con g ++
- 13. Controllo autotools per C++ 11
- 14. Come utilizzare le funzionalità di C++ 11 con Autoconf?
- 15. Lavorare con i tipi F # in C#
- 16. C# .NET - Come posso ottenere typeof() per lavorare con l'ereditarietà?
- 17. Configurazione delle impostazioni di django per lavorare con 1.4.1. Loading Errore modello
- 18. Plugin di Eclipse per lavorare con protobuf
- 19. Lavorare con filtri in Crossfilter
- 20. Ottieni livereload per lavorare con Sails.js
- 21. Configurazione cronologia locale in IntelliJ IDEA 11
- 22. C# per C++ 11 di conversione: i modelli delegato
- 23. C++ 11 Regex Cattura gruppi per nome
- 24. Libreria per lavorare con firme digitali XAdES
- 25. utilizzando C++ 11 con il progetto GYP
- 26. Ultimi C++ 11 funzioni con Android NDK
- 27. Migliore alternativa per enfatiche con scope - Pre C++ 11
- 28. Modifica makefile per supportare C++ 11
- 29. Posso usare C++ 11 con Xcode?
- 30. Sostituire BOOST_FOREACH con alternativa "pura" C++ 11?
Ho provato che con le variabili di directory e nel buffer C++, la variabile mostra come * C++ 11 *. Ma ho ancora avvertito come * l'identificatore del tipo auto è un'estensione C++ 11 *. –
@Enzo Chi, Funziona per me, probabilmente è necessario eliminare il buffer di file e riaprire il file. –
Nel caso in cui non funzioni per alcune persone: sembra che il flycheck userà clang prima di gcc se il primo è installato. In tal caso la variabile è flycheck-clang-language-standard. – dmg