URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7413
[ Назад ]

Исходное сообщение
"Компиляция c++ кода в Linux"

Отправлено SubGun , 10-Июн-08 12:46 
Не могу заставить Linux откомпилировать даже простейший с++ код.

zion:/home/psa/C++/test # cat test2.cpp
#include <stdio.h>

int main()
{
    printf("Linux forever.\n");
};

zion:/home/psa/C++/test # gcc --version
gcc (GCC) 4.1.0 (SUSE Linux)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

zion:/home/psa/C++/test # gcc test2.cpp
/tmp/cco3p3NI.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status


Что я делаю не так?

Содержание

Сообщения в этом обсуждении
"Компиляция c++ кода в Linux"
Отправлено voyager3m , 10-Июн-08 12:54 
>[оверквотинг удален]
>
>int main()
>{
>    printf("Linux forever.\n");
>};
>
>zion:/home/psa/C++/test # gcc test2.cpp
>/tmp/cco3p3NI.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
>collect2: ld returned 1 exit status

>Что я делаю не так?

или назви файл с программой test2.c или компили с помощью c++
c++ test2.cpp



"Компиляция c++ кода в Linux"
Отправлено SubGun , 10-Июн-08 12:59 
Спасибо большое.

"Компиляция c++ кода в Linux"
Отправлено anonymous , 10-Июн-08 18:58 
>или назви файл с программой test2.c или компили с помощью c++
>c++ test2.cpp

Ерунда.  Это чистый Си.


"Компиляция c++ кода в Linux"
Отправлено Guest , 11-Июн-08 00:36 
>Ерунда.  Это чистый Си.

Исходники на чистом C имеют расширение .c. Для gcc есть разница.


"Компиляция c++ кода в Linux"
Отправлено anonymous , 11-Июн-08 10:07 
>>Ерунда.  Это чистый Си.
>
>Исходники на чистом C имеют расширение .c. Для gcc есть разница.

Извиняюсь -- не заметил, что и расширение .cpp, и автор считает, что пишет на c++ (то есть ему нужен компилятор плюсов).  Просто судя по исходнику -- это Си.


"Компиляция c++ кода в Linux"
Отправлено anonymous , 10-Июн-08 18:57 
>#include <stdio.h>
>
>int main()
>{
>    printf("Linux forever.\n");
>}; <---------

Это не паскаль чтобы ставить точку-с-запятой где не попадя.


"Компиляция c++ кода в Linux"
Отправлено Аноним , 11-Июн-08 00:37 
>>}; <---------
>Это не паскаль чтобы ставить точку-с-запятой где не попадя.

Ага, и ругается линкер. Учи матчасть.


"Компиляция c++ кода в Linux"
Отправлено garikello , 04-Июл-08 21:32 
>zion:/home/psa/C++/test # gcc test2.cpp
>/tmp/cco3p3NI.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
>collect2: ld returned 1 exit status
>Что я делаю не так?

Делай g++ вместо gcc.


"Компиляция c++ кода в Linux"
Отправлено rich , 11-Окт-09 00:02 
>>zion:/home/psa/C++/test # gcc test2.cpp
>>/tmp/cco3p3NI.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
>>collect2: ld returned 1 exit status
>>Что я делаю не так?
>
>Делай g++ вместо gcc.

int main() должна вернуть int. return 0; не зыбываем


"Компиляция c++ кода в Linux"
Отправлено Ruslan , 17-Янв-14 17:12 
ты в конце ; убери после закрывающей скобки...))) это не структура))) вот там надо ; ставить)