Eclipse CDT Indexer does not fully recognize C ++ 11

First of all, I know the -std = C ++ 11 flag to enable C ++ 11 support and where to put it. I added -std=c++11in Project -> Properties -> C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Miscellaneous -> Other Flags, and the compilation is just fine. But the indexer does not get along, for example, if I want to use a function emplace std::map(C ++ 11), it will not find the emplace function.

#include <map>

int main() {
    std::map<int, int> data;
    data.emplace(5,5);

I also checked these related questions:

Update: now, when I played around it, it doesn’t even recognize the std :: map type, although it compiles fine and eclipse, detecting all the headers ...

  • Compiler Mingw64 GCC 5.2.0
  • Eclipse mars 4.5
  • CDT 8.7
+4
2

Eclipse Mars , .

1 , , ++ 11 Eclipse CDT (Juno/Kepler/Luna) indexer, . , , , . .

  • Project- > properties- > C/++ - > Preprocessor Include Paths.
  • "".
  • CDT GCC MinGW
  • "" .
    • " , "
    • -std = ++ 1y Command .

, - , , , , .

2

  • Project- > properties- > C/++ Build- > Settings.
  • " ".
  • GCC ++
  • "" ++, , Language Standard.
+6

Eclipse CDT ++ , . , GCC ++ . , .

, , ++ 11 (, ) squiggles. , , , -std = ++ 11.

:

  • "" "C/++ → Build → Settings.
  • Discovery CDT GCC.
  • , , . , -std = ++ 11.
  • Eclipse CDT ++ . , .
  • , "" → "". !
-1

Source: https://habr.com/ru/post/1607937/


All Articles