Mam poważne problemy z konfiguracją flycheck dla C++ 11. Obecnie flycheck sygnalizuje takie rzeczy, jak std::to_string()
. Kontroler, którego używam, to po prostu g ++. Co mogę dodać w pliku .emacs, że domyślnie flycheck domyślnie przyjmie C++ 11?Konfigurowanie Flycheck do pracy z C++ 11
Odpowiedz
Flycheck udostępnia do tego celu opcję flycheck-gcc-language-standard
. Nie powinno się ustawić go na całym świecie, dlatego że złamie sprawdzanie plików C, ale można ją ustawić z c++-mode-hook
z następującego kodu w pliku init:
(add-hook 'c++-mode-hook (lambda() (setq flycheck-gcc-language-standard "c++11")))
Chciałbym jednak odradzam to. Zamiast tego użyj Directory Variables, aby skonfigurować standard językowy dla każdego projektu.
Otwórz katalog główny projektu w Dired z C-x d
, a następnie wpisz M-x add-dir-local-variable RET c++-mode RET flycheck-gcc-language-standard RET "c++11"
. Spowoduje to utworzenie pliku .dir-locals.el
w katalogu głównym projektu. Emacs odczytuje ten plik za każdym razem, gdy odwiedzasz plik z tego katalogu lub dowolnego podkatalogu i ustawia zmienne zgodnie z regułami w tym pliku. W szczególności, Emacs ustawi teraz standard językowy dla sprawdzania składni Flycheck na C++ 11 dla wszystkich plików C++ w twoim projekcie.
Bardzo dobre odpowiedzi już. Chcę tylko dodać, że jeśli zamiast tego używasz clang
, zmienną wymagającą modyfikacji jest flycheck-clang-language-standard
.
lub dodaj jedną linię "-std = C++ 11" w pliku .clang_complete znajdującym się w katalogu głównym projektu. – elinx
- 1. Konfigurowanie Qt Creator do pracy z CDB
- 2. Konfigurowanie ustawień django do pracy z 1.4.1. Błąd wczytywania szablonu
- 3. Konfigurowanie wtyczki SublimeCodeIntel do pracy z Rails/Ruby na Windows
- 4. Konfigurowanie konta Gmail do pracy z ActionMailer w Railsach 3
- 5. Konfigurowanie tras podczas pracy przy użyciu tylko omniauth do uwierzytelniania
- 6. portowanie isnan do C++ 11
- 7. C++ 11 Równoważna do Boost.Format
- 8. Inicjalizacja C++ 11 z auto
- 9. Funkcja C++ 11 z MinGW
- 10. Konfigurowanie Yeoman z Django
- 11. Konfigurowanie projektu C++ OpenCV z Cmake
- 12. Konfigurowanie PHPStorm z TortoiseSVN
- 13. Problem z std :: thread z C++ 11
- 14. Propagowanie sygnału (SIGINT) do C++ 11 wątków
- 15. Biblioteka refleksyjna C++ 11
- 16. C++ 11 Regex Matching
- 17. C++ 11 lambdas do wskaźnika funkcji
- 18. jest popularna biblioteka C# do pracy z HTTP? Np. Upraszczanie pracy z httpwebrequest itp.
- 19. Konfigurowanie protokołu SSL do pracy z aplikacją WWW Java na serwerze Tomcat 5.5
- 20. Jak dodać ścieżkę włączenia do flickheck c/C++ - clang?
- 21. Oczekiwanie na wątek C++ 11 do uruchomienia
- 22. Typ C++ 11 do mapowania wyliczeniowego?
- 23. C++ 11 implementacja ciągów constexpr
- 24. zainicjować mapę C++ 11
- 25. C++ 11 Destructor = delete
- 26. Mapa mutex C++ 11
- 27. C++ 11 wydajność krotki
- 28. C++ 11 liczb losowych
- 29. C++ 11 transformacja z shared_ptr do wektora i klasy
- 30. C++ 11 regex_token_iterator
Próbowałem tego ze zmiennymi katalogowymi iw buforze C++ zmienna wyświetla się jako * C++ 11 *. Ale wciąż mam ostrzeżenie, ponieważ * specyfikator typu auto jest rozszerzeniem C++ 11 *. –
@Enzo Chi, działa dla mnie, prawdopodobnie musisz usunąć bufor pliku i ponownie otworzyć plik. –
Na wypadek, gdyby nie działało to dla niektórych osób: wygląda na to, że test flecheck użyje klang przed gcc, jeśli jest zainstalowany. W takim przypadku zmienną jest flycheck-clang-language-standard. – dmg