привет всем!! помогите разобраться
не могу скомпилировать простую С++ программувот makefile:
OBJ = class.o
EXE = class
SOURCE = class.cpp$(EXE): $(OBJ)
gcc $(OBJ) -o $(EXE)$(OBJ): $(SOURCE)
gcc -c $(SOURCE)вот программа собственно
class A
{
private:
int i;public:
int seti(int a){i=a;}private:
int c;};
int main()
{
A *p;
p = new A;
}а вот ругань компилятора
gcc -c class.cpp
gcc -lpthread class.o -o class
class.o: In function `main':
class.cpp:(.text+0x19): undefined reference to `operator new(unsigned int)'
class.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [class] Ошибка 1
ругается линкер ..... собственно компиляция С++ кода проходитя так полагаю что в makefile какие то библиотеки надо подключить
только вот какие не пойму....помогите советом
заранее спасибо!
а зачем для этой простенькой программы вы пытаетесь подключить libpthread?
>а зачем для этой простенькой программы вы пытаетесь подключить libpthread?да libpthread тут не нужен...
просто makefile делался из другого makefile для другой простой программы где потоки использовались и там libthread был нужен ...я протсо пропустил что libpthread тут остался...
Это аццкий баянище ))gcc - это не компилятор (и особенно не редактор связей) c++
попробуй заменить gcc на с++ ))
>Это аццкий баянище ))
>
>gcc - это не компилятор (и особенно не редактор связей)
>c++
>
>попробуй заменить gcc на с++ ))наверно всеже на g++ )
>Это аццкий баянище ))
>
>gcc - это не компилятор (и особенно не редактор связей)
>c++
>
>попробуй заменить gcc на с++ ))ну кстати с gcc то С код компилировался....
я так понял что он сам потом по ключам вызывает компилятор и линкер, ну также как сс
я просто ключи эти так и не нашелс++ заработало
>ну кстати с gcc то С код компилировался....Он вообще умный, и на расширение смотрит.
А вот с обьектными файлами такой фокус не прокатил, они у c++ и "с" одинаковые.
В результате не нашлись стандартные библиотеки чуждого языка :)>с++ заработало
прелестно :)