Bonjour, j'essaye de créer une librairie statique à l'aide de Codeblocks.
Je suis parti de 2 fichiers: stg.h et stg.c.
J'ai crée un projet "Static library" dans Codeblocks puis importé les 2 fichiers.
J'ai fait "build" et obtenu un fichier stg.a
J'ai copié stg.h dans: RépertoireCodeblock/include/ et stg.a dans RépertoireCodeblock/lib/
Pour tester j'ai inclu le header stg.h avec: #include <stg.h> dans un projet quelconque.
A la compilation de ce projet il trouve stg.h, reconnait un type défini dans le header, mais ne trouve pas la définition d'une de mes fonctions définies dans la librairie:
J'ai essayer de générer stg.a de plusieurs manières différentes à partir de codeblocks: importer stg.c tout seul puis faire un "build", importer stg.h et stg.c puis faire un "build".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Project : Test Compiler : GNU GCC Compiler (called directly) Directory : E:\Documents\Programmes\test\ -------------------------------------------------------------------------------- Switching to target: default Compiling: main.c Linking console executable: E:\Documents\Programmes\test\test.exe .objs\main.o: In function `main': E:/Documents/Programmes/test/main.c:10: undefined reference to `str_to_stg' collect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 0 seconds) 1 errors, 0 warnings
J'ai essayer de renommer le fichier généré de stg.a vers libstg.h d'après ce que j'ai vu dans d'autres topic mais rien y fait.
Je me suis trompé dans ma démarche?
Partager