Jusqu'à VS2008, vous définissiez votre C++ natif les dépendances du projet dans le fichier de la solution ( Project Dependencies ...
) et si (par défaut) l'option du linker
Properties -> Linker -> General : Link Library Dependencies = Yes
est défini, le Visual Studio Build établira automatiquement un lien dans le fichier .lib
de tous les projets (DLLs, LIBs) dont ce projet dépend seront liés "statiquement".
Côté Note : Microsoft a modifié le fonctionnement des dépendances dans VS2010 et vous êtes maintenant censé ajouter la dépendance directement au projet
Common Properties -> Framework and References : (List of depenencies)
(each lib/dll has a separate option:
Project Reference Properties -> Link Library Dependencies : True|False
Je suis d'accord avec ça. C'est pas sur quoi porte cette question.
(Une explication ici : Références flexibles de projet à projet .)
Il est toujours Il est toutefois possible de définir les dépendances du projet au niveau de la solution et de l'ensemble du projet. General
L'option Linker est également toujours là. Cependant, cela ne fonctionne pas. Voir :
- Les dépendances de la bibliothèque de liens ne fonctionnent pas ?
- Visual Studio 2010 a-t-il rompu les "dépendances de projet" entre les projets C++ ?
- Visual Studio 2010 ne lie pas automatiquement les bibliothèques statiques des projets qui sont des dépendances comme il devrait le faire
et surtout voir ici (acutal question suit)
Microsoft y confirme que l'option Linker ne fait pas ce que le reste de la population mondiale attend d'elle, et ajoute l'explication suivante :
Merci d'avoir signalé ce retour d'information. Le problème que vous rencontrez est par conception. L'option "Link Library Dependency" est un drapeau qui ne fait que dicter si oui ou non la bibliothèque doit être passée en entrée de l'éditeur de liens. Il ne Il ne trouve pas la dépendance automatiquement. En tant que client, vous devrez définir la dépendance manuellement comme vous le suggérez.
Can quelqu'un peut expliquer ce que cela signifie ou plus précisément : Que fait réellement l'option d'édition de liens "Link Library Dependency" dans Visual Studio 2010 ?
Qu'est-ce qu'une "entrée pour l'éditeur de liens" qui n'est pas réellement liée est censée être ?