Multiple "could not be resolved" problems using Eclipse with minGW
c++, c++11, eclipse, gcc, mingw32
Solution
Go to `Project -> Properties -> C/C++ General -> Preprocessor Include Paths, Macros, etc. -> Providers -> CDT GCC built-in compiler settings`, deactivate `Use global provider shared between projects` and add the command line argument `-std=c++11`.
The eclipse live code analysis does not share the same settings with the build compiler. You can also change the setting globally (not just for the project) in `Window -> Preferences -> C/C++ -> Build -> Settings -> CDT GCC Built-in Compiler Settings`.
Edit: You need to `#include <string>` to use `std::to_string`.
Problem
I have recently installed (the latest builds of) 'Eclipse IDE for C/C++ Developers' and minGW (4.8.1) to help me to get back into C++ after a long time away. I have added `-std=c++11` to `Other flags` at `C/C++ Build/Settings/Tool Settings/GCC C++ Compiler/Miscellaneous` I have a small program utilizing a number of C++11 features (e.g. using the `chrono` library, `.emplace_back`). After Run I get multiple unresolved issues in the Problems window, as Pasted below). Interestingly, the program does compile and run ok. With this, is there something I'm not setting up in Eclipse to resolve these issues? Does anyone know if there still an issue with the `to_string()` function in minGW (4.8.1) e.g. the following does not compile: ``` window.setTitle("Bullets on screen: " + to_string(bullets.size()) + " currentSlice: " + to_string(currentSlice) + " FT: " + to_string(ft) + " FPS: " + to_string(fps) ); ``` It does compile using Visual Studio Express 2013 (though it has an issue with the accuracy of the `chrono` library, hence the switch to minGW). Thanks. Eclipse 'Problem' window output: ``` Description Resource Path Location Type Symbol 'duration' could not be resolved chronotest.cpp /chronotest/src line 19 Semantic Error Function 'now' could not be resolved Test2.cpp /Test2/src line 143 Semantic Error Function 'duration_cast' could not be resolved Test2.cpp /Test2/src line 160 Semantic Error Function 'now' could not be resolved Test2.cpp /Test2/src line 158 Semantic Error Symbol 'chrono' could not be resolved Test2.cpp /Test2/src line 8 Semantic Error Type 'std::centi' could not be resolved chronotest.cpp /chronotest/src line 20 Semantic Error Type 'std::chrono::seconds' could not be resolved chronotest.cpp /chronotest/src line 24 Semantic Error Type 'std::time_t' could not be resolved chronotest.cpp /chronotest/src line 48 Semantic Error Symbol 'duration' could not be resolved chronotest.cpp /chronotest/src line 47 Semantic Error Function 'now' could not be resolved chronotest.cpp /chronotest/src line 44 Semantic Error Function 'now' could not be resolved chronotest.cpp /chronotest/src line 39 Semantic Error Type 'std::chrono::system_clock' could not be resolved chronotest.cpp /chronotest/src line 38 Semantic Error Function 'end' could not be resolved Test2.cpp /Test2/src line 214 Semantic Error Symbol 'time_point' could not be resolved chronotest.cpp /chronotest/src line 38 Semantic Error Function 'end' could not be resolved Test2.cpp /Test2/src line 212 Semantic Error Type 'milli' could not be resolved Test2.cpp /Test2/src line 161 Semantic Error Method 'count' could not be resolved Test2.cpp /Test2/src line 161 Semantic Error Symbol 'duration_cast' could not be resolved Test2.cpp /Test2/src line 160 Semantic Error Symbol 'duration' could not be resolved Test2.cpp /Test2/src line 161 Semantic Error Method 'count' could not be resolved chronotest.cpp /chronotest/src line 51 Semantic Error Symbol 'duration_cast' could not be resolved chronotest.cpp /chronotest/src line 30 Semantic Error Method 'count' could not be resolved chronotest.cpp /chronotest/src line 30 Semantic Error Function 'to_time_t' could not be resolved chronotest.cpp /chronotest/src line 48 Semantic Error Method 'count' could not be resolved chronotest.cpp /chronotest/src line 32 Semantic Error Function 'ctime' could not be resolved chronotest.cpp /chronotest/src line 50 Semantic Error Method 'count' could not be resolved chronotest.cpp /chronotest/src line 33 Semantic Error Symbol 'duration' could not be resolved chronotest.cpp /chronotest/src line 22 Semantic Error Invalid arguments ' Candidates are: __gnu_cxx::__normal_iterator<Bullet *,std::vector<Bullet,std::allocator<Bullet>>> erase(__gnu_cxx::__normal_iterator<Bullet *,std::vector<Bullet,std::allocator<Bullet>>>) __gnu_cxx::__normal_iterator<Bullet *,std::vector<Bullet,std::allocator<Bullet>>> erase(__gnu_cxx::__normal_iterator<Bullet *,std::vector<Bullet,std::allocator<Bullet>>>, __gnu_cxx::__normal_iterator<Bullet *,std::vector<Bullet,std::allocator<Bullet>>>) ' Test2.cpp /Test2/src line 212 Semantic Error Symbol 'ratio' could not be resolved chronotest.cpp /chronotest/src line 22 Semantic Error Invalid arguments ' Candidates are: #0 remove_if(#0, #0, #1) ' Test2.cpp /Test2/src line 212 Semantic Error Symbol 'duration_cast' could not be resolved chronotest.cpp /chronotest/src line 28 Semantic Error Method 'count' could not be resolved chronotest.cpp /chronotest/src line 28 Semantic Error Method 'emplace_back' could not be resolved Test2.cpp /Test2/src line 191 Semantic Error Symbol 'ratio' could not be resolved chronotest.cpp /chronotest/src line 19 Semantic Error Symbol 'duration' could not be resolved chronotest.cpp /chronotest/src line 20 Semantic Error Symbol 'duration' could not be resolved chronotest.cpp /chronotest/src line 21 Semantic Error Function 'begin' could not be resolved Test2.cpp /Test2/src line 212 Semantic Error Symbol 'ratio' could not be resolved chronotest.cpp /chronotest/src line 21 Semantic Error ``` [Edit]: Apologies for not including error details for the remaining "to_string". The Eclipse 'Problem' window output has the following: ``` Description Resource Path Location Type 'to_string' was not declared in this scope Test2.cpp /Test2/src line 170 C/C++ Problem Function 'to_string' could not be resolved Test2.cpp /Test2/src line 170 Semantic Error Function 'to_string' could not be resolved Test2.cpp /Test2/src line 170 Semantic Error unused variable 'currentSlice' [-Wunused-variable] Test2.cpp /Test2/src line 125 C/C++ Problem Function 'to_string' could not be resolved Test2.cpp /Test2/src line 170 Semantic Error Invalid arguments ' Candidates are: void setTitle(const sf::String &) ' Test2.cpp /Test2/src line 170 Semantic Error Function 'to_string' could not be resolved Test2.cpp /Test2/src line 170 Semantic Error ```