BGI в обновленном wxDevCpp не работает
Мне нужно использовать BGI-графику в моей программе, и она прекрасно работала в wxDevCpp 7.3. Но теперь я установил обновленную версию этой IDE 7.4, сделал все по инструкции http://www.cs.colorado.edu/~main/bgi/dev-c++/, как и раньше, но теперь, когда я пытаюсь скомпилировать любой простая программа вроде
#include <graphics.h>
int main( )
{
initwindow(400, 300, "First Sample");
circle(100, 50, 40);
while (!kbhit( ))
{
delay(200);
}
return 0;
}
Я получаю несколько ошибок, говорящих, что
initwindow(), circle(), kbhit(), delay()
не были объявлены в объеме. Я понятия не имею, что делать. Изменения в обновленном wxDevCpp - это другая структура папок, но я скопировал файлы graphics.h и libbgi.a в несколько папок. Я не забыл добавить команды компоновщика, как сказано в инструкции, но это не работает. Кроме того, я нашел другой файл graphics.h, который поставляется вместе с установкой нового wxDevCpp и хотя он может привести к конфликту, поэтому я просто удалил его. Без изменений:(
1 ответ
Я думаю, что я решил это! На самом деле это была проблема с graphics.h Когда я скопировал весь graphics.h в свой.cpp, компилятор выдал ошибку, что int right было объявлено дважды в следующем коде:
void printimage(
const char* title=NULL,
double width_inches=7, double border_left_inches=0.75, double border_top_inches=0.75,
int left=0, int right=0, int right=INT_MAX, int bottom=INT_MAX,
bool active=true, HWND hwnd=NULL
);
Переопределение int правильно, так как это всего лишь прототип, я изменяю его на:
void printimage(
const char* title=NULL,
double width_inches=7, double border_left_inches=0.75, double border_top_inches=0.75,
int left=0, int right=0, int=INT_MAX, int bottom=INT_MAX,
bool active=true, HWND hwnd=NULL
);
Теперь это работает!!!