Bonjour à tous,
Imaginons que je dispose d'une librairie c'est à dire du fichier header "librairie.h" et du "librairie.o" issu de la compilation de "librairie.cpp" contenant l'implémentation à proprement parler. Supposons aussi que la librairie ainsi créée fournisse une fonction
Je crée maintenant le fichier "main.cpp" suivant que je compile et lie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void librairie_func(void);
J'aimerais savoir si la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include "librairie.h" #pragma comment(lib, "librairie.o") int main(int argcp, char **argv) { librairie_func(); return 0; }
est valable (y a-t-il une différence entre un .o et un .lib ?) et si le cas échéant elle permet de s'affranchir au moment du linkage de rajouter le fichier objet "librairie.o" (j'avais cru comprendre que cette ligne indiquait au linker de lier automatiquement ce fichier au projet...) ?... Manifestement la réponse à ma question doit être non (j'ai évidemment essayé et au moment du linkage les fonctions de la librairie sont non reconnues) mais à quoi sert alors la fameuse ligne citéé auparavant ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#pragma comment(lib,"librairie.o")
Merci pour votre aide.
PS : je code sous Windows avec g++.
Partager