Je suis nouveau en C et je veux essayer this json de/serializer. Comme il n'a pas besoin de dépendance, je viens de mettre le code dans un sous-répertoire de mon projet.C include lib échec
/
json_test.c
json/
json.c
json.h
Source de json_test.c
:
#include "json/json.h"
int main() {
JsonNode *json = json_mkobject();
}
Et une partie de la json/json.h
:
JsonNode *json_mkobject(void);
Le problème est que je ne peux pas utiliser toutes les fonctions de la lib parce que la compilation échouent (Je pense que c'est l'éditeur de liens):
$ gcc json_test.c -o json_test
/tmp/cco4ZDh0.o: in function « main »:
json_test.c:(.text+0x9): undefined reference to « json_mkobject »
collect2: error: ld returned 1 exit status
Je suis là depuis hier, avez-vous des suggestions pour le faire fonctionner?
Un fichier d'en-tête ne contient généralement fonction * * déclarations, constantes symboliques sous forme de macros et les définitions de la structure. L'inclusion d'un fichier d'en-tête ne lie pas automatiquement à une bibliothèque ou provoque la construction du programme frontal du compilateur avec un fichier source de même nom. –