Получить Eclipse CDT + boost::shared_ptr<T> для работы с завершением синтаксиса?

StackOverflow https://stackoverflow.com/questions/1525150

  •  19-09-2019
  •  | 
  •  

Вопрос

Как заставить Eclipse CDT обрабатыватьshared_ptr как T * для завершения синтаксиса?

В данном случае я использую Windows.У меня 1.39 в папке "Program Files".Собираюсь попробовать 1.37.

Я использую версию Eclipse Galileo.Кроме того, я редактирую и просматриваю исходный код только в Eclipse и собираю в VC++ Express.(Но это уже другая история)

Это было полезно?

Решение

Какую версию буста вы используете?

В соответствии с эта тема:

Оказывается, в Boost 1.39 есть что-то, что не нравится индексатору CDT.
Если я позволю CDT индексировать boost 1.36, то автозаполнение будет работать для элементов с заданным типом, как показано ниже.
Если я позволю ему индексировать только 1.39, то то же автодополнение не будет работать.

(Происходит с CDT5 или 6)

Другие советы

Индексирование Eclipse CDT библиотек повышения производительности уже начинает испытывать трудности с версией 1.37 (или даже 1.36, я не смог это проверить).

Мой обходной путь, позволяющий получить выгоду от завершения кода при использовании актуальной версии Boost (1.39), следующий:

  • У меня на компьютере установлены две версии Boost (1.35 и 1.39).
  • В конфигурации сборки отладки (Настройки/Каталоги) я установил путь включения к старой версии boost.
  • В конфигурации сборки выпуска я установил путь включения к фактической библиотеке повышения.
  • Я установил для параметра индексатора «Конфигурация сборки индексатора» значение «Использовать фиксированную конфигурацию сборки» > «Отладка».

Индексатор теперь использует старую библиотеку для индексации и завершения кода, но релизная версия по-прежнему будет скомпилирована с последней версией Boost.По крайней мере, это сработало для меня.Пожалуйста, проверьте это для вашей конфигурации сборки, если у вас такая же проблема!

Я только что опробовал это в Eclipse 3.6 M5 (этапная сборка Helios) с соответствующей версией CDT 7.0, и он смог автоматически завершить boost::shared_ptr, который ранее не работал в Eclipse 3.5 с CDT 6.Я использую Boost 1.40, поэтому они, должно быть, исправили любую проблему, возникшую в индексаторе шаблонов.

Вы можете опробовать новую сборку, перейдя по ссылке http://www.eclipse.org/downloads/ , выбрав «Сборки для разработки», а затем, как обычно, выбрав «Eclipse для C/C++».

Это было для меня источником разочарования в течение долгого времени, но после недавнего обновления до Galileo и CDT 6 теперь это работает!

Способствовать росту:1,39
CDT:6.0.2.201002161416

Надеюсь это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top