Faire en sorte qu'Eclipse CDT + boost::shared_ptr<T> fonctionne avec la complétion de la syntaxe ?

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

  •  19-09-2019
  •  | 
  •  

Question

Comment faire en sorte qu'Eclipse CDT traite shared_ptr comme T * pour la complétion de la syntaxe ?

J'utilise Windows dans ce cas.J'ai 1.39 dans le dossier "Program Files".Je suis sur le point d'essayer 1.37.

J'utilise la version Galileo d'Eclipse.De plus, je modifie et parcourt uniquement la source dans Eclipse et je construis dans VC++ Express.(Mais c'est une autre histoire)

Était-ce utile?

La solution

Quelle version de boost que vous utilisez?

Selon ce fil :

  

Il s'avère qu'il ya quelque chose au sujet Boost 1,39 que la CDT indexeur n'aime pas.
  Si je laisse CDT à l'index boost 1,36 puis des travaux de saisie semi-automatique pour les éléments typedef comme ci-dessous.
  Si je permets à l'index seulement 1,39 alors la même auto-complétion ne fonctionne pas.

(qui se passe avec CDT5 ou 6 )

Autres conseils

L'indexation Eclipse CDT des bibliothèques boost commence déjà à avoir des difficultés avec la version 1.37 (ou même 1.36, je n'ai pas pu le vérifier).

Ma solution de contournement pour bénéficier de la complétion du code tout en utilisant une version boost à jour (1.39) est la suivante :

  • J'ai deux versions boost (1.35 et 1.39) sur mon ordinateur.
  • Dans la configuration de Debug Build (Paramètres/Répertoires), j'ai défini le chemin d'inclusion vers l'ancienne version de boost.
  • Dans la configuration de Release Build, j'ai défini le chemin d'inclusion vers la bibliothèque boost réelle.
  • J'ai défini l'option de l'indexeur "Configuration de construction pour l'indexeur" sur "Utiliser la configuration de construction fixe" > Déboguer

L'indexeur utilise désormais l'ancienne bibliothèque pour l'indexation et la complétion du code, mais la version finale sera toujours compilée avec la récente version boost.Au moins, cela a fonctionné pour moi.Veuillez vérifier cela pour votre configuration de build, si vous rencontrez le même problème !!

Je viens d'essayer dans Eclipse 3.6 M5 (une construction d'étape Helios) avec la version correspondante de CDT 7.0 et il a été en mesure d'auto terminer le boost :: années shared_ptr que précédemment échoué dans Eclipse 3.5 avec CDT 6. I je utilise Boost 1,40, donc ils doivent avoir fixe quel que soit le problème indexeur modèle avait.

Vous pouvez essayer la nouvelle construction en allant à http://www.eclipse.org/downloads/ , en sélectionnant "versions de développement", puis en sélectionnant "Eclipse pour C / C ++" comme d'habitude.

Cela a été une source de frustration pour moi depuis longtemps, mais après la mise à niveau récemment Galileo et CDT 6, il travaille maintenant!

Boost: 1,39
CDT: 6.0.2.201002161416

Hope this helps.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top