Eclipse CDT автоматически загружает /usr/include/boost, если пути включения отсутствуют

Я пытаюсь построить проект с PCL. Я использую pcl, vtk-5.8 и eigen3. Я также использую бустер.

В /usr/include по умолчанию есть boost 1.46, и я создал собственную версию boost 1.5.1. При добавлении пути к boost 1.5.1 include dir в путь включения (в свойствах-> build-> settings) я получаю ошибки при запуске, так как мое приложение компилируется с файлами в /usr/include/boost, а не с 1.5 .1 версия. Поэтому, когда я не включаю свою версию boost 1.5.1, все работает нормально.

Мой вопрос: как/почему eclipse находит /usr/include в качестве пути включения (это не было явно добавлено) и как я могу остановить это?


person Aly    schedule 24.01.2013    source источник
comment
Это не eclipse CDT, предполагающий /usr/include в качестве стандартного пути включения, а компилятор вашей цепочки инструментов (я думаю, GCC).   -  person πάντα ῥεῖ    schedule 24.01.2013
comment
Я использую G++, верно ли это для этого компилятора?   -  person Aly    schedule 24.01.2013
comment
Насколько я знаю, есть что-то вроде автоматического обнаружения цепочки инструментов, и это определяет стандартный набор путей включения (и показанный) в eclipse. Где компилятор ищет стандартные включаемые файлы, определяется во время установки цепочки инструментов. GCC/G++ обычно устанавливает включаемые файлы под /usr/include.   -  person πάντα ῥεῖ    schedule 24.01.2013


Ответы (1)


Посмотрите в разделе «Свойства» -> «Общие сведения о C/C++» -> «Пути и символы», затем перейдите на вкладку «Включает». Вы можете установить включаемые каталоги, и я уверен, что вы найдете там /usr/include. Возможно, вы захотите оставить его там (он может даже не дать вам возможность удалить его) и добавить свой путь Boost 1.5.1 над ним. Убедитесь, что в разделе «Языки» выбран C++.

person Fred Larson    schedule 24.01.2013
comment
в Eclipse-Luna у меня та же проблема, но в списке нет каталога /usr/include. Я поставил ссылку на скомпилированный мной boost в первую строку, но это не помогает - person Oleg Vazhnev; 08.04.2015