Получить Eclipse CDT + boost::shared_ptr<T> для работы с завершением синтаксиса?
-
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
Надеюсь это поможет.