Code Yarns ‍👨‍💻
Tech BlogPersonal Blog

How to change compiler options used by indexer in Eclipse CDT

📅 2015-Oct-02 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ cpp, cpp11, eclipse, eclipse cdt, indexer ⬩ 📚 Archive

Eclipse CDT understands the C++ code in a window by running it through an indexer. This indexer is nothing but an invocation of the GCC C++ compiler with certain compilation options. Sometimes, you might want to change the compiler options used by this indexer.

For example, I recently found that C++11 containers and classes (like future) were not resolved by the indexer and were underlined with red squiggles. This is because the compiler options used by the indexer does not have -std=c++11.

To change the compiler options of the indexer:

  1. Open Preferences and go to C/C++ -> Build -> Settings.

  2. Click the Discovery tab and choose CDT GCC Built-in Compiler Settings.

  3. Modify the command string shown below it as you wish. For example, here I added -std=c++11.

  4. Eclipse CDT will automatically re-index your C++ files after this is saved. However, I found that this did not remove the unresolved items.

  5. I manually re-indexed by right-clicking the project and choosing Index -> Rebuild. This worked!

Tried with: Eclipse 4.5 (Mars) and Ubuntu 14.04