Реклама на сайте Advertise with us
Тема: Компиляция .CPP средствами GCC Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 10/04/04 в 18:42     

#include <stdio.h>

int main()
{
printf ("Hello, world");
return 0;
}

% gcc prog.cpp

Выводит какую-то информацию об ошибке, что найдены неправильные строки в stdio.h.

Как-то по особому надо компилировать CPP файлы?

K началу

 
Информация о пользователе Bold


Зарегистрирован: 15.10.02
Сообщения: 45
Ссылка на сообщениеДобавлено: 10/04/04 в 19:20     

а так не пробовал ?

g++ proga.cpp -o proga.cgi

,где proga.cpp - исходные коды
proga.cgi - бинарник куда сохраняеся скомпиленный код

K началу

 
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 10/04/04 в 19:48     

Bold писал:
а так не пробовал ?
g++ proga.cpp -o proga.cgi
,где proga.cpp - исходные коды
proga.cgi - бинарник куда сохраняеся скомпиленный код

Мне не для cgi, мне как приложение ОС.

K началу

 
Информация о пользователе Alexus


Зарегистрирован: 07.11.02
Сообщения: 832
Ссылка на сообщениеДобавлено: 10/04/04 в 19:58     

clever писал:
Мне не для cgi, мне как приложение ОС.


smail54.gif

тогда напиши proga.bin или proga.exe или просто proga
да вообще что угодно. icon_smile.gif

K началу

 
Информация о пользователе Vlad_S


Зарегистрирован: 26.07.03
Сообщения: 413
Ссылка на сообщениеДобавлено: 10/04/04 в 21:50     

Можно еще вот так:
gcc proga.cpp -o proga.cgi -lstdc++
Это под никсами.
И еще один момент. Твой пример написан на чистом С, а не на С++, поэтому по идее исходник должен иметь расширение не *.cpp, а *.с

K началу

 
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 674
Ссылка на сообщениеДобавлено: 10/04/04 в 23:00     

Vlad_S писал:
И еще один момент. Твой пример написан на чистом С, а не на С++, поэтому по идее исходник должен иметь расширение не *.cpp, а *.с


Нет , зависит от версии и реализаци компилятора , в доках надо смотреть к компилятору.

2топикстатер :

мне кажется в твоем случае я бы советовал приобрести интегрированный пакет разработки которых щас много , например
Visual c++ Standart Edition 6.0 . там тебе и С и С++ и Visual c++ и кнопочка Compile , продается на каждом углу и стоит копейки.
Все очень продумано и удобно. Имел некоторый опыт програмирования на си , советую , и забудишь ты про подобный гемор icon_smile.gif

K началу

 
Информация о пользователе rst


Зарегистрирован: 07.11.03
Сообщения: 298
Ссылка на сообщениеДобавлено: 10/04/04 в 23:11     

clever писал:
#include <stdio.h>

int main()
{
printf ("Hello, world");
return 0;
}

% gcc prog.cpp

Выводит какую-то информацию об ошибке, что найдены неправильные строки в stdio.h.

Как-то по особому надо компилировать CPP файлы?

ti oshibki privedi chto compiler pishet hotia bi.

K началу

 
Информация о пользователе AnToXa


Зарегистрирован: 06.12.02
Сообщения: 22
Ссылка на сообщениеДобавлено: 10/04/04 в 23:19     

все нормально должно компилиться.
скорее всего у тебя просто варнинг, что нету newline в конце файла )

K началу

 
Информация о пользователе Alexus


Зарегистрирован: 07.11.02
Сообщения: 832
Ссылка на сообщениеДобавлено: 10/04/04 в 23:33     

AnToXa писал:
все нормально должно компилиться.
скорее всего у тебя просто варнинг, что нету newline в конце файла )


в линухе есть такая фигня. когда компилишь файл с спп расширением как простой си.
первый ответ был исчерпывающим. если спп исходник, то компилировать надо соответствующим компилятором.

K началу

 
Информация о пользователе AnToXa


Зарегистрирован: 06.12.02
Сообщения: 22
Ссылка на сообщениеДобавлено: 10/04/04 в 23:43     

Alexus писал:
в линухе есть такая фигня. когда компилишь файл с спп расширением как простой си.
первый ответ был исчерпывающим. если спп исходник, то компилировать надо соответствующим компилятором.


1. в линуксе никаких "фигней" нет, они могут быть в компиляторе.
2. код, как он был указан в исходном сообщении компилится указанной коммандой при расширениях .c .cc .cpp .cxx
3. указанный исходник не на C++, а 100% plain C.

K началу

 
Информация о пользователе Vlad_S


Зарегистрирован: 26.07.03
Сообщения: 413
Ссылка на сообщениеДобавлено: 11/04/04 в 00:51     

mr.GOD писал:
Нет , зависит от версии и реализаци компилятора , в доках надо смотреть к компилятору.
Согласен. Надо смотреть, что компилятор пишет, без этого тут не разобраться.

K началу

 
Информация о пользователе Еugene


Зарегистрирован: 10.12.03
Сообщения: 158
Ссылка на сообщениеДобавлено: 11/04/04 в 01:14     

брось сюда вывод
gcc -o out prog.cpp -Wall && ./out

и

gcc --version

ps: линковать с libstdc++ не имеет никакого смысла. дефолтового libc (-lc) в данном случае хватит с головой icon_smile.gif

K началу

 
Информация о пользователе lega_cobra


Зарегистрирован: 21.09.03
Сообщения: 371
Ссылка на сообщениеДобавлено: 11/04/04 в 02:32     

clever писал:
#include <stdio.h>
int main()
{
printf ("Hello, world");
return 0;
}
% gcc prog.cpp
Выводит какую-то информацию об ошибке, что найдены неправильные строки в stdio.h.
Как-то по особому надо компилировать CPP файлы?


Версия первая - писал пример в mc (вот тоже убожество), и последняя строка не зканчивается символом перевода строки - т.е. не является юникс-строкой.

Вторая версия - писал под маздаем, следовательно все строки не являются юниксными, может давать ошибки.

А так, пример компилится нормально при включеном -Wall

K началу

 
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 11/04/04 в 03:45     

Писал в gedit.
То что, это 100% С - знаю. Это просто пример и я хотел сделать его короче.

K началу

 
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 11/04/04 в 04:08     

Вывод такой.

/tmp/ccarc1wn.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

K началу

 
Информация о пользователе rst


Зарегистрирован: 07.11.03
Сообщения: 298
Ссылка на сообщениеДобавлено: 11/04/04 в 11:16     

clever писал:
Вывод такой.

/tmp/ccarc1wn.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

-lstdc++

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »