Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.68
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
#1

gcc VS DEV-C++ 4.9.9.2 - C++

02.10.2009, 01:32. Просмотров 4155. Ответов 33
Метки нет (Все метки)

Люди!! Срочно нужны знающие люди по данному вопросу.Только сейчас узнал,что вся практика будет в gcc...... Какие отличия вообще между ними ?! Программенг в SunOS...

gcc сишный компиль.а вот DEV-C++ - чисто *приплюснутый*... Очень интересно,будут ли моя познания в с++ исковерканы gcc-ым компилем).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2009, 01:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос gcc VS DEV-C++ 4.9.9.2 (C++):

gcc в c++ VS - C++
void MakeStrRef(RCString* sref,char* data){ asm("pushl %%eax\n" "call %%edx" : ...

Gcc и c++ - C++
Доброго времени суток. Начну с предисловия. Я всегда писал на C++ под винду и в линукс не совался. Сейчас, я выполняю задание(тестовое) и...

gcc компиляция - C++
Проблема возникла при компиляции проекта code::block. При build and run все работает, в папке bin проекта появляется .exe Но...

GotoXY в GCC - C++
ДОБРОГО ВРЕМЕНИ СУТОК !!! Я использую GCC и мне нужно использовать функцию GotoXY. В GCC нет библиотеки conio.h. Прошу дать код...

g++/gcc не компилирует - C++
есть С++ код #include <iostream> int main(){ std::cout << "hello ,world!"; } запускаю компилятор и он ничего не...

Глюк gcc? - C++
Компилируя программу в gcc, выводит от части неверный ответ. В code::blocks все в порядке. Как это понимать? Программа выполняет сдвиг...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
02.10.2009, 14:34 #16
Я не понял, чего ты не нашёл, но если одного из файлов *exe, про которые я тебе говорил, то дабы я не делал лишних движений, то смотри мой последний пост в теме про русские шрифты в консоли. Там дядька переделал (спасибо ему, работает обалденно) эти файлы и предлагает переделанные на суд публике. Они делают всё то же самое, плюс переконвертируют раскладку. Убьёшь двух зайцев одним выстрелом.
Ну, или скажи мне я тебе скину на файлообменник gcc.exe и/или g++.exe

...Ну я бы посоветовал тебе изучать стандарты, так ведь я сам этого не делаю.
Меня, конечно, будут пинать ногами, но я взял за правило, что С это подмножество С++. Все проблемы отпали. Пишу- не сказать, чтобы хаотично... но не заморачиваюсь, что писать printf или cout. Владением какого инструмента владею лучше в данной ситуации, то и пишу.
Evg
Эксперт CАвтор FAQ
17620 / 5844 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
02.10.2009, 14:35 #17
Цитата Сообщение от kravam Посмотреть сообщение
плюс переконвертируют раскладку
А потом автор будет доказывать в институте, что у него подполный вариант Dev-C. Лучше не надо такого делать, а ставить официальную версию. В идеале - такую же, как и в институте
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
02.10.2009, 14:52 #18
Цитата Сообщение от Evg Посмотреть сообщение
А потом автор будет доказывать в институте, что у него подполный вариант Dev-C.
Естественно.
Изменил нечто- неси ответственность за внесённые изменения. Я уверен, автор это сделать в состоянии. Потому и советую.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
02.10.2009, 14:54 #19
Welemir, да и OpenSolaris на www.sun.com под x86/x64 лежит. Для полноты ощущений можно его вместо винды поставить - препод Вами гордиться будет...
Evg
Эксперт CАвтор FAQ
17620 / 5844 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
02.10.2009, 14:58 #20
Цитата Сообщение от easybudda Посмотреть сообщение
Welemir, да и OpenSolaris на www.sun.com под x86/x64 лежит. Для полноты ощущений можно его вместо винды поставить - препод Вами гордиться будет...
Солярис он слишком топорный и неудобный. А под x86 ещё и глючный. Тем более с современными видеокартами задолбаешься его запускать.
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
02.10.2009, 15:52  [ТС] #21
_http://kpolyakov.narod.ru/school/c/faq.htm#rus

Это...сделал всё по ману.Пытался скомпилить код вида:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <graphics.h>
int main()
{
initwindow(400,300); // открыть окно для графики
                     // размером 400 на 300 пикселей
moveto(0,0);         // курсор в точку (0,0)
lineto(50,50);       // отрезок в точку (50,50)
getch();             // ждать нажатия на любую клавишу
closegraph();        // закрыть окно с графикой
return 0;
}
Компонует.потом линкует...и так и висит.Что делать ? Проблема ещё и в том,что когда вместо gccrus.exe ставишь обратно gcc.exe,то он выдаёт ошибки.

Добавлено через 50 минут
Попробовал скомпилить другой пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
 
int main()
{
    
int x = 5;
printf("%d",x);
getch();
 
}
Выдаёт следующее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Компилятор: Default compiler
Building Makefile: "C:\Dev-Cpp\Projects\Makefile.win"
Выполнение  make...
make.exe -f "C:\Dev-Cpp\Projects\Makefile.win" all
gcc.exe -c g_1.c -o g_1.o -I"C:/Dev-Cpp/include"   
 
gcc.exe g_1.o  -o "ss.exe" -L"C:/Dev-Cpp/lib" -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32  
 
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0xbc7):winbgi.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0xbd2):winbgi.cxx: undefined reference to `std::string::_Rep::_S_empty_rep_storage'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0x167f):winbgi.cxx: undefined reference to `std::string::assign(char const*, unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0x1b5e):winbgi.cxx: undefined reference to `std::string::_Rep::_S_empty_rep_storage'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0x1b72):winbgi.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0x1dcc):winbgi.cxx: undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0x1de0):winbgi.cxx: undefined reference to `std::string::_Rep::_M_destroy(std::allocator<char> const&)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0x1fac):winbgi.cxx: undefined reference to `std::ios_base::Init::Init()'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text+0x1fc8):winbgi.cxx: undefined reference to `std::ios_base::Init::~Init()'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseIcSaIcEE16_M_destroy_nodesEPPcS3_[std::_Deque_base<char, std::allocator<char> >::_M_destroy_nodes(char**, char**)]+0x19):winbgi.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt5dequeIcSaIcEE16_M_pop_front_auxEv[std::deque<char, std::allocator<char> >::_M_pop_front_aux()]+0x11):winbgi.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseI9tagPOINTSSaIS0_EE16_M_destroy_nodesEPPS0_S4_[std::_Deque_base<tagPOINTS, std::allocator<tagPOINTS> >::_M_destroy_nodes(tagPOINTS**, tagPOINTS**)]+0x19):winbgi.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseIcSaIcEE15_M_create_nodesEPPcS3_[std::_Deque_base<char, std::allocator<char> >::_M_create_nodes(char**, char**)]+0x18):winbgi.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseIcSaIcEE17_M_initialize_mapEj[std::_Deque_base<char, std::allocator<char> >::_M_initialize_map(unsigned int)]+0x39):winbgi.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseIcSaIcEED2Ev[std::_Deque_base<char, std::allocator<char> >::~_Deque_base()]+0x35):winbgi.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseI9tagPOINTSSaIS0_EE15_M_create_nodesEPPS0_S4_[std::_Deque_base<tagPOINTS, std::allocator<tagPOINTS> >::_M_create_nodes(tagPOINTS**, tagPOINTS**)]+0x18):winbgi.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseI9tagPOINTSSaIS0_EE17_M_initialize_mapEj[std::_Deque_base<tagPOINTS, std::allocator<tagPOINTS> >::_M_initialize_map(unsigned int)]+0x39):winbgi.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt11_Deque_baseI9tagPOINTSSaIS0_EED2Ev[std::_Deque_base<tagPOINTS, std::allocator<tagPOINTS> >::~_Deque_base()]+0x35):winbgi.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt6vectorIP6HWND__SaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_[std::vector<HWND__*, std::allocator<HWND__*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<HWND__**, std::vector<HWND__*, std::allocator<HWND__*> > >, HWND__* const&)]+0x81):winbgi.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winbgi.o)(.text$_ZNSt6vectorIP6HWND__SaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_[std::vector<HWND__*, std::allocator<HWND__*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<HWND__**, std::vector<HWND__*, std::allocator<HWND__*> > >, HWND__* const&)]+0xfb):winbgi.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text+0x522):winthread.cxx: undefined reference to `std::string::_Rep::_S_empty_rep_storage'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text+0x52f):winthread.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text+0x57e):winthread.cxx: undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text+0x58e):winthread.cxx: undefined reference to `std::string::_Rep::_M_destroy(std::allocator<char> const&)'
 
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text+0x259b):winthread.cxx: undefined reference to `std::ios_base::Init::Init()'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text+0x25ba):winthread.cxx: undefined reference to `std::ios_base::Init::~Init()'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text+0x25cf):winthread.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeI9tagPOINTSSaIS0_EE5clearEv[std::deque<tagPOINTS, std::allocator<tagPOINTS> >::clear()]+0x3b):winthread.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeI9tagPOINTSSaIS0_EE5clearEv[std::deque<tagPOINTS, std::allocator<tagPOINTS> >::clear()]+0x76):winthread.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeIcSaIcEE17_M_reallocate_mapEjb[std::deque<char, std::allocator<char> >::_M_reallocate_map(unsigned int, bool)]+0x94):winthread.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeIcSaIcEE17_M_reallocate_mapEjb[std::deque<char, std::allocator<char> >::_M_reallocate_map(unsigned int, bool)]+0xd6):winthread.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeIcSaIcEE16_M_push_back_auxERKc[std::deque<char, std::allocator<char> >::_M_push_back_aux(char const&)]+0x32):winthread.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeI9tagPOINTSSaIS0_EE17_M_reallocate_mapEjb[std::deque<tagPOINTS, std::allocator<tagPOINTS> >::_M_reallocate_map(unsigned int, bool)]+0x94):winthread.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeI9tagPOINTSSaIS0_EE17_M_reallocate_mapEjb[std::deque<tagPOINTS, std::allocator<tagPOINTS> >::_M_reallocate_map(unsigned int, bool)]+0xd6):winthread.cxx: undefined reference to `operator delete(void*)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeI9tagPOINTSSaIS0_EE24_M_new_elements_at_frontEj[std::deque<tagPOINTS, std::allocator<tagPOINTS> >::_M_new_elements_at_front(unsigned int)]+0x48):winthread.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeI9tagPOINTSSaIS0_EE23_M_new_elements_at_backEj[std::deque<tagPOINTS, std::allocator<tagPOINTS> >::_M_new_elements_at_back(unsigned int)]+0x43):winthread.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(winthread.o)(.text$_ZNSt5dequeI9tagPOINTSSaIS0_EE16_M_push_back_auxERKS0_[std::deque<tagPOINTS, std::allocator<tagPOINTS> >::_M_push_back_aux(tagPOINTS const&)]+0x35):winthread.cxx: undefined reference to `operator new(unsigned int)'
C:/Dev-Cpp/lib/libbgi.a(misc.o)(.text+0x100c):misc.cxx: undefined reference to `std::ios_base::Init::Init()'
C:/Dev-Cpp/lib/libbgi.a(misc.o)(.text+0x1028):misc.cxx: undefined reference to `std::ios_base::Init::~Init()'
C:/Dev-Cpp/lib/libbgi.a(drawing.o)(.text+0x3adc):drawing.cxx: undefined reference to `std::ios_base::Init::Init()'
C:/Dev-Cpp/lib/libbgi.a(drawing.o)(.text+0x3af8):drawing.cxx: undefined reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status
 
make.exe: *** [ss.exe] Error 1
 
Выполнение завершено
Компилил в С проекте.

ЗЫЫЫ: Насчёт последнего РАЗОБРАЛСЯ.Жто всё из-за того,что программа не работает с графикой,но в примере с рисованием прямой компилятор всё равно виснет в процессе линковки...
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
02.10.2009, 16:39 #22
Welemir, а ты из командной строки компилишь?
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.10.2009, 16:43 #23
Это...сделал всё по ману.Пытался скомпилить код вида:
Выкини ты этот gccrus и переустанови Dev C++ с нуля !
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
02.10.2009, 16:49 #24
Вот не надо только выкини да ещё и этот.
Если не вами написан, не значит, что фуфловый. У меня работает. Парень полез с графикой работать, оттуда проблемы и начались. Кстати.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.10.2009, 16:52 #25
Да пусть делает что хочет.
Но если они задачи будут писать на оригинальном и сдавать на нем же, то зачем ставить какой-то левый ?
Пусть ставит оригинальную версию и на ней все делает.
А все остальные телодвижения, включая вопросы - а почему у меня не работает вот эта кем-то патченная версия - лишние.
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
02.10.2009, 16:57  [ТС] #26
Не понял вас.Я пробовал на компиляторе gccrus.exe и gcc.exe.На обоих косяки.

Верно подмечено,что при работе с графикой.Стоит только убрать параметры,которые передаются компоновщику,и всё нормально.Работаю на Windows пока что.

ЗЫ: Компилю не с командной строки,а в дэве.
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
02.10.2009, 17:12 #27
Можно по новой установить DEV C++

Можно попробовать аккуратнейшем образом сделать реустановку графического модуля и всё, что с ним связано.
То есть убирай graphics.h (ЕСЛИ ТЫ ЕГО СКАЧАЛ!)libbgi.a (ЕСЛИ ТЫ ЕЁ СКАЧАЛ). И попробуй без них работать. И всё, что ты делал в связи с их установкой- пути там прописывал где-нибудь- всё приводи в вид, как было до этого.

И я не понял- ты русский текст видел в консоли? gccrus.exe помог?
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
02.10.2009, 17:27  [ТС] #28
Помог,да...русский текст работает,если компоновщику аргументы не передавать,как там описано.Я вот только одного не пойму - если я ВСЁ уберу,включая удаление библиотеки и заголовочного файла,то как я вообще смогу работать с графикой?! Это как бы упрощённый вариант был... Странно.что у многих работает,просто делал же всё по правилам.Обидно...
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
02.10.2009, 17:34 #29
Ясно.
Ничем помочь не могу. С графикой не работал никогда. Тут от многих-многих факторов может зависеть.
Evg
Эксперт CАвтор FAQ
17620 / 5844 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
02.10.2009, 17:39 #30
А зачем тебе с графикой работать? В solaris всё равно этого нет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2009, 17:39
Привет! Вот еще темы с ответами:

Компиляция gcc - C++
Подскажите как в VS скомпилировать программу с помощью компилятора gcc

gcc update - C++
как обновить gcc? Нужно качать новую версию и заново устанавливать или есть какая-то команда, чтобы сделать это?

Компиляция (gcc) - C++
Добрый вечер! После компиляции текстовый файл становится вдруг двоичным, как следствие его невозможно открыть для исправлений. Почему? ...

Задание директории gcc - C++
Здравствуйте. Первый раз работаю с gcc. Не получается задать директорию для работы. То есть собирается только то, что лежит в ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.10.2009, 17:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru