Je suis tombé sur un morceau de code qui utilise le commentaire #pragma (lib, "libraryname").
Pourquoi ce type d'utilisation au lieu de simplement lier la bibliothèque à partir du menu des propriétés? Dans quelles situations cet usage est-il demandé? Je suis dans Windows en utilisant C++ Visual Studio 201 .
Ce serait bien de voir un exemple qui appelle à ce type d'utilisation.
Le rédacteur de bibliothèque peut placer une commande #pragma comment(lib, ...)
dans le fichier d'en-tête public (.h). Dans ce cas, le client n'a pas besoin d'ajouter cette bibliothèque à la liste des dépendances de l'éditeur de liens. En incluant un fichier h dans le programme, le client est automatiquement lié à la bibliothèque requise.
Exemple classique - liaison avec différentes versions de la bibliothèque:
#if CURRENT_VERSION >= 10
#pragma comment(lib, "thirdPartyLibV2.0.lib")
#else //version < 10
#pragma comment(lib, "thirdPartyLibV1.0.lib")
#endif
Il est contenu dans le sens où il suffit d'inclure le fichier d'en-tête pour que la bibliothèque associée soit automatiquement récupérée. Vous pouvez même faire #ifdef..#endif
magie pour apporter conditionnellement la bonne bibliothèque en fonction de votre environnement.
Tout le monde n'utilisera pas votre projet MSVC lors du démarrage d'un nouveau projet à partir de zéro, étant simplement capable de #include
et le faire fonctionner est le signe d'une bibliothèque bien écrite.