7
votes

Référencement des bibliothèques 3ème partie à l'aide de * Relative * Chemins dans Eclipse-CDT

Quelle est la meilleure pratique pour référencer les composants 3ème partie C ++ (par exemple inclut des bibliothèques) en utilisant les chemins de relatifs dans Eclipse-CDT?

  • J'essaie de référencer Boost et Google Protobuf.
  • Je les ai mis chacun dans un dossier de mon espace de travail, par ex. / Accueil / Utilisateur / Espace de travail / BOOST_1_39_9
  • J'ai ajouté une référence à ce dossier dans les paramètres de construction dans les propriétés du projet, mais Eclipse ne me permettra pas de spécifier ce chemin d'accès par rapport au dossier de l'espace de travail, je dois le choisir à l'aide d'un système de fichiers et spécifier un chemin absolu < / li>

    merci,

    • Alex

1 commentaires

J'ai exactement le même problème avec MySQL Connector pour C ++ - Je l'ai compilée et la compila dans un projet supplémentaire et l'a ajouté au chemin de la recherche de la bibliothèque, mais Eclipse insiste pour ne pas le trouver! Je l'ai copié à / usr / lib et cela a bien fonctionné.


4 Réponses :


1
votes

Je ne suis pas sûr des chemins pour les paramètres de construction de CDT (pas sur mon ordinateur) mais que vous ne pouvez pas utiliser la variable de l'espace de travail? Quelque chose comme: $ {workspace_loc} / boost_1_39_9

EDIT: OK, j'ai fait de la recherche et j'ai trouvé des informations sur ces variables, ici . Je pense que ce que vous voulez, c'est: $ {projet_loc: / boost_1_39_0}?


2 commentaires

J'ai essayé, mais cela ne semble pas fonctionner. 1. Eclipse ne vous laissera pas créer quelque chose comme ça, ça vous oblige à choisir $ {Workspace_Loc} / [YourProjectName] / BOOST_1_39_0 2. Si je saisis ce que vous avez suggéré manuellement, c'est apparaît travailler, Mais Eclipse ne peut pas trouver mon inclus.


Je ne prévoyais pas de mettre de la place dans l'emplacement du projet, car Eclipse voudra le construire.



6
votes

Variables Eclipse, telles que $ {WORKSPACE_LOC} et $ {Project_Loc} ne fonctionne que pour des choses qui sont en réalité dans l'espace de travail d'exécution Eclipse. Lorsque vous dites que vous les mettez sous l'espace de travail du système de fichiers, avez-vous été importé les fichiers dans Eclipse (à l'aide d'un nouveau projet; ou créez un dossier lié dans un projet existant)?

Si les fichiers existent dans le système de fichiers mais pas dans Eclipse elle-même, Eclipse ne pourra y accéder que par des chemins absolus.

BTW, CDT a des variables de son propre: $ {workspaCedreirpath} $ {projdirpath} $ {projname} qui s'étend sur l'emplacement de la Système de fichiers.


0 commentaires

1
votes

J'ai résolu ce problème à l'aide des préférences-> General-> Espace de travail -> Option de ressources liées.

Fondamentalement, vous définissez une variable pointant vers votre dossier d'espace de travail.

Ajoutez ensuite à votre projet Le dossier tiers à l'aide de Ajouter un dossier-> Advanced-> Lien vers un dossier dans le système de fichiers et utilisez les variables ... Bouton pour utiliser la variable créée précédemment pour pointer vers le dossier tiers (en utilisant le bouton d'expansion).

Ensuite, il vous suffit d'ajouter le dossier à vos chemins Inclure et de bibliothèque dans les paramètres du projet.

facile comme gâteau ...: S


0 commentaires

0
votes

Juste une pensée .. Avez-vous essayé d'installer Boost de telle sorte que la situation s'achève / USR / Inclure et / USR / LIB / ou / LIB. Ensuite, ajoutez simplement ces chemins dans vos préférences de construction. J'ai eu un problème similaire, mais nous l'avons ensuite résolu en utilisant des fabricants personnalisés. Cela a fonctionné pour nous parce que nous avions déjà le cadre de construction personnalisé et il suffit de modifier des modifications à un maquillage existant et de la copier sur ce projet.


0 commentaires