2014-12-25 16 views
10

Şu anda özel bir makefile sahip bir C++ projem var. Tutulmayı basitçe yapmak ve makefile her şeyi idare etmek için söylüyorum. Proje iyi bir performans sergiliyor, ancak tutulma genelleştirilmiş lambda yakalamalarını "sözdizimi hataları" olarak vurgulamaya devam ediyor. Bildiğim kadarıyla bu da belli olduğu gibi:Özel makefile ile C++ 14 için Eclipse Luna Indexer

https://stackoverflow.com/a/835019/4076418,

o CDT Indexer C++ 14 sözdizimi anlamak değil bir problem. Burada cevapları aşağıdaki denedim

:

Eclipse CDT C++11/C++0x support

https://stackoverflow.com/a/13635080/4076418

ancak Eclipse Luna + özel makefile proje + C++ 14 olan davamı işleyemez.

Bu soru muhtemelen madenle ilgili ama hiç cevap [Ben de indeksleyiciyi değiştirme olanağı yoktur] sahiptir: tanıması indeksleyiciyi almak için nasıl

https://stackoverflow.com/q/24950192/4076418

Herhangi bir fikir C++ 14 özellikleri?

P.S. C++ 11 özellikleri, bazı sebeplerden dolayı sözdizimi hataları olarak vurgulanmaz. Ayrıca makefile içinde 3.4.2 clang kullanıyorum; Açıkçası, C++ 14 destekler. G ++ sürümü mevcut olsa da 4.4.7, bu yüzden C++ 14'ü desteklemiyor. Bu bir şekilde sorun olabilir mi? CDT, dizinleyicinin sistem g ++ 'sını kullanıyor mu? Ve eğer öyleyse, g ++ 'yı güncellemek zorunda kalmadan bunu nasıl değiştirebilirim (Sınırlı kullanıcı ayrıcalıklarıyla çalışıyorum ve güncellemek bir acı olur)?

+0

Harika. Yapılandırmamı daha da karmaşık hale getirdim. C++ 11 özelliklerini tanımak için kullanılır. Şimdi, hatta std :: vektör gibi şeyleri vurgular. Ben pes ediyorum ... – elatalhm

+0

Eclipse'de derleyici bayraklarına '-std = C++ 14' eklemeyi denediniz mi? – user2205930

cevap

0

AFAIK Eclipse Luna, genel olarak C++ 14'ü desteklemez. Eclipse Neon'a yükseltmeniz gerekecektir. Neon kullanıyorum, ayrıştırıcı çalışıyor, özel makefile kullanmıyorum ama

Geçmişte Luna'yı kullandım, ancak C++ 11 desteğinin kurulumu bazen zordu.