Makefile:Makefile дают ошибки неопределенная ссылка на 'основной'
all: a.out
a.out: b.o a.o
gcc -o b.o a.o
a.o: a.c
gcc -c a.c
b.o: b.c
gcc -c b.c
.PHONY:clean
clean:
rm *.o a.out
с make
, дают информацию:
error: undefined reference to 'main'
collect2: ld return 1
make: * [a.out] error 1
Но если положить исходный файл a.c
и b.c
в Eclipse CDT, он компилирует хорошо. Пожалуйста, объясните, что не так с моим makefile
?
PS: a.c:
int global_1 = 100;
b.c:
extern int global_1;
int main()
{
int global_2 = global_1 * 2;
return 0;
}
Извините, при удалении второй строки, как вы сказали, команда 'make' не будет генерировать исполняемый файл' a.out'. Я использую Ubuntu 12.04 default make. – lulyon