Под
Eclipse CDT >
Project Settings >
C/C++ General >
Paths and Symbols >
Includes >
GNU C++
Существует список включенных путей.
Некоторые выделены жирным шрифтом и зависят от проекта.
Другие встроены:
Например:
/usr/include/C++/4.6/
/usr/include/x86_64-linux-gnu
etc
Если я удалю:
work/.metadata/.plugins/org.eclipse.cdt.make.core/*.sc
Пути автоматически пересканируются при запуске Eclipse.
У меня есть gcc 4.6 и gcc 4.7, установленные бок о бок.
Когда Eclipse rescans, он находит только заголовки 4.6, а не 4.7.
Мой вопрос заключается в следующем: по какому механизму Eclipse определяет список встроенных путей включения? (и, следовательно, почему он находит только заголовки 4.6, а не 4,7 заголовки?)
Это контролируется настройками в Project- > Properties- > C/С++ Build- > Discovery Options. По умолчанию Eclipse вызовет g++, чтобы открыть каталоги include. Первым экземпляром g++ на пути будет тот, который вызывается. Вы всегда можете установить полный путь к компилятору, который хотите использовать для своего проекта.