$ make 1
g++ 1.cpp -o 1
/tmp/ccLP9Kez.o: In function `main':
1.cpp:(.text+0xe1): undefined reference to `firs(int)'
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [1] Ошибка 1
А при ручной сборке все нормально, если это может как-то повлиять, то у меня fedora 10.
Спасибо.
Это наш химический дом для печальных жителей Земли!
а как ты руками собирал? :) везде ли ты g++ использовал, или как здесь в самый ответственный момент переключился на gcc?
//почитай про make, у него есть много фишек упрощающих написание. Очень.
ничего удивительного - make читает Makefile.
ой ли ;) даже из описания проблемы ясно, что это не так
Насколько я понял, у товарища мейкфайл неправильно называется - с маленькой буквы, а make ищет файл Makefile (с большой) и не находит, поэтому использует 'умолчательное' правило для .cpp файлов.
(man make) писал(а):make will look for the makefiles GNUmakefile, makefile, and Makefile, in that order
и почему у меня не собирается написанное в пером посте, даже при переменовании makefile в Makefile. И сыпется всё это счастье в момент объеденения объектных файлов gcc, но если использовать g++ то всё хорошо
По поводу имени мейкфайла - может, это от версии make зависит?
По поводу почему gcc не собирает - ничего удивительного, gcc не знает что надо к этим объетникам ещё прилинковывать стандартную либу c++ (он же считает что программа на С), в итоге наверное жалуется на undefined references.