у меня есть следующие коды:Использование "Экстерн" в команду для совместного использования с переменной
(1) extern_test.h:
extern int give_something;
(2) extern_test.c:
#include <stdio.h>
#include "extern_test.h"
int give_something = 10;
(3) extern_test2.c:
#include <stdio.h>
#include "extern_test.h"
int main()
{
printf("%i\n", give_something);
return 0;
}
Теперь, когда Я компилирую extern_test2.c на терминале, он говорит, что «неопределенная ссылка на" give_something».... Пожалуйста, помогите, почему это не работает ..
показать нам свою команду makefile/command line. – John3136
Вы связываете его с extern_test.c? Без этого компоновщик не будет знать, где указано значение__события. Что касается extern_test.c, то он не существует. Поэтому give_something никогда не определяется. –
Это то, что я получаю: ~ $ НКИ extern_test2 -o extern_test2 ----> дает -----> /tmp/ccydzDba.o: В функции 'главный: extern_test2.c: (.text + 0x6): неопределенная ссылка на 'give_something ' collect2: error: ld возвращен 1 статус выхода –