Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > проблема с графикой


Автор: Night_xxx 1.6.2007, 15:24
Хочу запустить на BorlandC++3.1 вот это:


Код

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

#define Path "C:\\BORLANDC\\BGI\\"

int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int xmax, ymax;

   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "Path");

   /* read result of initialization */
   errorcode = graphresult();
   /* an error occurred */
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   }

   setcolor(getmaxcolor());
   xmax = getmaxx();
   ymax = getmaxy();

   /* draw a diagonal line */
   line(0, 0, xmax, ymax);

   /* clean up */
   getch();
   closegraph();
   return 0;
}


и выходят 9 ошибок:
Linker Error: Undefined symbol _line in module 555.cpp
Linker Error: Undefined symbol _getmaxy in module 555.cpp
Linker Error: Undefined symbol _getmaxx in module 555.cpp
                                                 _setcolor
                                                 _getmaxcolor
и т.д.
Подскажите что это за ошибки и как их исправить.
                                                 

Автор: SenkraD 1.6.2007, 15:32
Night_xxx, ты вызываеш функции, реализацию которых компилер не видит, тоесть ты не добавил в проект файл либо с разширением cpp, либо lib. Вообщем найди в какой либе или файлележит реализация и добавь(прилинкуй) к проекту

Автор: Rodman 1.6.2007, 15:33
компилятор не может найти функции и процедуры, который принадлежат библиотеке <graphics.h>...

но у тебя все нормально вроде прописано!!!

наведи курсор на setcolor, например, и нажми Ctrl+F1. Глянь как в примере...

возможно настройки компилятора борохлят!!!

Добавлено через 8 минут
попробуй еще
Код

#include "graphics.h"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define Path "C:\\BORLANDC\\BGI\\"
int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int xmax, ymax;
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "Path");
   /* read result of initialization */
   errorcode = graphresult();
   /* an error occurred */
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   }
   setcolor(getmaxcolor());
   xmax = getmaxx();
   ymax = getmaxy();
   /* draw a diagonal line */
   line(0, 0, xmax, ymax);
   /* clean up */
   getch();
   closegraph();
   return 0;
}


смотри 1 строку...

ЗЫ: как занесло в Builder???

Автор: Night_xxx 1.6.2007, 19:17
Записал файл graphics.h в кавычках "" и запустилось и вышло такое: Graphics error: Device driver file not found <EGAVGA.BGI>  Хотя в папке BGI он есть

Да и если в скобках <> занести graphics и поставить галочку в Options->Linker->Libraries->Graphics library  также запускается и выходит такое же сообщение.
Уф что же не так. 

Автор: Rodman 1.6.2007, 19:24
найди в своем компилере файл EGAVGA.BGI и кинь его в папку "C:\\BORLANDC\\BGI\\" и будет тебе счастье...

EGAVGA.BGI  - это драйвер графический!!!

Автор: Night_xxx 1.6.2007, 20:25
Дело в том что он там лежал и лежит. Что значит он его не находит???

Автор: Night_xxx 1.6.2007, 21:45
Все разобрался. Оказывается нужно было положить файл graphics.h в папку с проектом.

Автор: Night_xxx 1.6.2007, 23:03
Ошибочка не graphics а EVAGVA

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)