Как правильно скомпилировать программу в Turbo C++ с graphics.h?
Написал следующий код:
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy, midx2, midy2;
int radius = 25;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "c:/turboc3/bgi");
/* read result of initialization */
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
midx = midx2 = getmaxx() / 2;
midy = midy2 = getmaxy() / 2;
int i = 0;
setfillstyle(1, 3);
while (!kbhit())
{
cleardevice();
setcolor(RED);
setfillstyle(XHATCH_FILL, RED);
fillellipse(midx2, midy2, radius, radius);
setcolor(GREEN);
setfillstyle(XHATCH_FILL, GREEN);
fillellipse(midx, midy, radius, radius);
setcolor(WHITE);
line(midx2, midy2, midx, midy);
i = getch();
switch(i)
{
case 115: midy += 2; break;
case 119: midy -= 2; break;
case 97: midx -= 2; break;
case 100: midx += 2; break;
default: return 0;
}
}
/* clean up */
getch();
closegraph();
return 0;
}
Скомпилировал, собрал и получил .exe - файл. При запуске через Turbo C++ (ctrl + F9) всё работает, отображается, рисуется. А когда запускаю просто сам exe-файл то вижу следующую картину: пустая консоль с моргающим курсором в начале строки: ничего не отрисовывается, ничего с клавиатуры не вводится (exe-шник после компиляции закинулся в папку Source и оттуда я его не вытаскивал).
Я полазил на английских форумах и мало что понял, но вроде как проблема в том, что Турбо Си делает 16-битные программы, которые на 64 битах уже не запускаются. НО! 2 важных пункта: во-первых у меня 32-битная седьмая винда, а во-вторых кто-то на форуме говорил, что собирал 32-битную программу (но не объяснил как).
Короче вопрос: что я сделал не так, почему ничего не рисуется и как это исправить?
P.s. я знаю про то, что прога устарела, что есть sfml и т.д., но мне интересен конкретно этот момент.