Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2012, 14:34   #1
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию Ошибка graphics.h в wxDev-C++

Для того, чтобы рисовать в Dev-C++ как раньше в Borland существовало такое решение:
1)кидаем graphics.h в папку include
2)libbgi.a засовываем в lib
3)добавляем к командной строке компановщика вот эти команды:
-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
И всё работало, но, проделав всё тоже самое в wxDev-C++, при компиляции я получил такую ошибку:
c:\program files\dev-cpp\mingw32\bin\../lib/gcc/mingw32/4.6.1/../../../../include/graphics.h:302:40: error: redefinition of 'int right'
c:\program files\dev-cpp\mingw32\bin\../lib/gcc/mingw32/4.6.1/../../../../include/graphics.h:302:27: error: 'int right' previously declared here
Помогите разобраться, в чем дело, и что сделать, чтоб всё заработало
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.
Че Гевара вне форума Ответить с цитированием
Старый 16.02.2014, 19:31   #2
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

Вот что пишут по этому поводу на сайте:
http://onecore.net/dev-c-graphics.htm

1)кидаем graphics.h в папку include
2)libbgi.a засовываем в lib

Project>>Project Options >>Parameters>>Linker введите следующий текст:

-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32

пример для тестирования:

Код:
#include <graphics.h>

#include <iostream>

using namespace std;

int main()
{
initwindow(800,600);
circle(200,300,600);
while(!kbhit());
closegraph();
return 0;
}
Еще не пробовал. Но во всяком случае в Dev-c++ такое работало.

загрузить "graphics.h" и "libbgi.a" из :
http://www.cs.colorado.edu/~main/bgi/dev-c++/

еще один код для проверки:
Код:
  
#include <graphics.h>

  int main() 
  { 
      initwindow(400,300); //open a 400x300 graphics window
      moveto(0,0);         
      lineto(50,50);       
      while(!kbhit());     //wait for user to press a key
      closegraph();        //close graphics window
      return 0; 
  }
и еще "Tools">> "Compiler Options".
>> "Settings" >> "Linker" в левой панели "Generate debugging information" поменять на "Yes":
vvmcpp вне форума Ответить с цитированием
Старый 16.02.2014, 20:07   #3
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Ошибка в заголовочном файле, как видно.
Найди указанную строку, и переименуй один из параметров в right2, например.
Son Of Pain вне форума Ответить с цитированием
Старый 23.02.2014, 22:53   #4
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

При тестировании кода у меня открываются 2 окна.
Одно консольное , другое initwindow(800,600);

Как сделать чтобы открывалось только одно окно initwindow(800,600); ?


Код:
#include <graphics.h>

#include <iostream>

using namespace std;

int main()
{
initwindow(800,600);
circle(200,300,600);
while(!kbhit());
closegraph();
return 0;
}
vvmcpp вне форума Ответить с цитированием
Старый 24.02.2014, 10:16   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Не собирать консольное приложение.
waleri вне форума Ответить с цитированием
Старый 28.02.2014, 12:57   #6
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Не собирать консольное приложение.
Получилось, вот пример с описанием:
Код:
#include <cstdlib>
#include <iostream>
#include <graphics.h>

/*
vvmcpp

Работа с "graphics.h"

Среда разработки: wxDev-C++

Параметры проекта: 
    тип: Win32 GUI

(Проект>Параметры проекта>Дополнительные параметры командной строки>компановщик)   
Параметры компановщика:

-mwindows
-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32

(Проект>Параметры проекта>Файлы каталоги, нужно добавить пути
Путь к graphics.h :
    dev-cpp\include
    
Путь к libbgi.a:
    dev-cpp\lib
     



но предупреждение компилятора:

.drectve `-aligncomm:"___hexdig_D2A",5' unrecognized

*/

using namespace std;

int main(int argc, char *argv[])
{
   initwindow(400,300);
   circle(100,150,300);
   while(!kbhit());
   closegraph();

    cout << "Press the enter key to continue ...";
    cin.get();
    return EXIT_SUCCESS;
}
Программа собирается и работает.
Только компилятор выдает такое предупреждение
".drectve `-aligncomm:"___hexdig_D2A",5' unrecognized"
vvmcpp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
<graphics.h> Ислам Помощь студентам 4 28.06.2011 09:31
Поддерживает ли wxDev-C++ шаблон queue?Есть пример. Aleksandr_Yanov Общие вопросы C/C++ 2 25.08.2010 22:20
C++,wxDev-C++,пространство имён.Почти готовое решение. Aleksandr_Yanov Помощь студентам 8 03.07.2010 20:43
ОШИБКА:"error BGI graphics not ..." Panterka Помощь студентам 7 12.12.2007 17:06