Неопределенная ссылка gcc

Когда я пытаюсь скомпилировать мою программу на Ubuntu с помощью gcc, я получаю следующие ошибки:

main.c:(.text+0x162): undefined reference to json_parse' main.c:(.text+0x182): undefined reference tojson_value_free'

Однако эти функции включены в файл с именем json.h, который я импортирую в main.c и который я включаю в свою команду gcc.

Кто-нибудь понял?

Ответы на вопрос(1)

Решение Вопроса

json.h". Неопределенная ссылкан ошибка компилятора, это linker error. Это означает, что вы либо не скомпилировали файл, содержащий json_value_free, в свой код, либо не связались с библиотекой, содержащей его. Вы должны выполнить любое действие вместо того, чтобы пытаться скомпилировать сам файл заголовка.

Так что, если у вас есть отдельный файл json.c, вы должны скомпилировать и связать его также с файлом main.c. Попробуйте (я полагаю, GCC):

gcc -o myprog main.c json.c
 user52975827 июн. 2012 г., 21:13
@ ThomasK Так не могли бы вы сделать это? Большое спасибо
 user52975827 июн. 2012 г., 20:59
Я понимаю. Смотрите мое дальнейшее объяснение.
 Thomas K27 июн. 2012 г., 20:58
Извините, мне кажется, я не дал понять, что пытаюсь скомпилировать main.c. Дело в том, что файл json.h отсутствует в библиотеке. Это просто файл .h (и .c), который я импортирую и включаю ..
 Thomas K27 июн. 2012 г., 21:00
Это оно! Благодарность! (Может и приму ваш ответ через четыре минуты)
 user52975827 июн. 2012 г., 21:04
Спасибо! Я рад, что смог помочь вам.

Ваш ответ на вопрос