Je vais essayer d'expliquer brièvement ce que je veux faire:Troubles à inclure (Linking) une bibliothèque statique dans un autre
Un projet en utilisant une bibliothèque statique qui ont un autre comme depandency. Il produit un projet appelé MyProject reliant MyLib1 sur MyLib2. Voici l'ordre de compilation:
- MyLib2
- MyLib1 (lien vers MyLib2)
- MyProject (lien vers MyLib1)
J'utilise Visual Studio 2008 et j'ai quelques problèmes à définir inclure. Lors de la liaison, j'utilise la propriété "Additional Include Directory" (sur le noeud C/C++ de la propriété du projet). Cela semble fonctionner entre MyProject et MyLib1 mais pas MyLib1 et MyLib2. Par exemple: J'ai un fichier dans MyLib2 appelé foo.cpp; L'utilisation de #include "foo.cpp" rend le studio visuel indiquant que foo.cpp est inconnu (fichier ou dossier manquant). Pour assurer que ce n'est pas un mauvais chemin que j'ai donné, j'ai fait plusieurs tentatives comme suit: copier-coller le chemin montré dans la ligne de commande (utilisée pour compiler la bibliothèque) dans win explorer: Je vois bien le code source de ma deuxième bibliothèque. J'ai refait le projet plusieurs fois et à chaque fois j'ai utilisé différents noms (ce qui m'oblige à faire attention à ça) et tout semble bien défini (mais pas "compris").
La seule façon que je trouve réellement pour le faire fonctionner: en utilisant #include "c: \\ foo.cpp" en tant que ... Très agréable pour la portabilité!
Voici un code postal de la solution pour tester vous-même et dites-moi ce qui ne va pas: MyProject.rar
Merci d'avoir pris un certain temps pour me aider! Lucyberad
Merci, il semble fonctionner de cette façon. En fait, la dépendance ne nécessite pas d'utiliser #include, mais nécessite des signatures pour travailler avec. Une autre personne trouve que la mise à disposition de "$ (SolutionDir) \ MyLib2" dans des répertoires d'inclusion supplémentaires (en créant la ligne suivante: "$ (SolutionDir) \ MyLib1"; "$ (SolutionDir) \ MyLib2") fonctionne également. Mais cette fois, MyLib2 est disponible dans MyProject. Tout ce dont vous avez besoin, les deux réponses fonctionne (et correspondent bien à deux fins spécifiques). Merci pour l'aide, Lucyberad. – Lucyberad