[C++] biblioteka WinBGIm w nowym Dev-cpp 5.11

MPKLodz
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 21 kwie 2015, o 14:21
Płeć: Mężczyzna

[C++] biblioteka WinBGIm w nowym Dev-cpp 5.11

Post autor: MPKLodz »

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <winbgim.h>

using namespace std;

int main() {
	
	initwindow(400,300);
	setfillstyle(SOLID_FILL, BLUE);
	bar(0,0,getmaxx(),getmaxy());
	
	line(50,50,350,250);
	
	while(!kbhit());
	closegraph();
	
	
	return 0;
}
Błąd:
C:\Users\Michał\Desktop\C++\projekt1.cpp In function 'int main()':
10 27 C:\Users\Michał\Desktop\C++\projekt1.cpp [Error] 'BLUE' was not declared in this scope

Kod spisany według biblioteczki komputer świat.
Co tu robię źle?
Dodam od siebie że nie ma już w nowym Dev-C++ 5.11 folderów include i lib bezpośrednio wewnątrz folderu instalacyjnego, ale jakoś problem obszedłem kopiując biblioteki tam gdzie jest iostream.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C++] biblioteka WinBGIm w nowym Dev-cpp 5.11

Post autor: Afish »

MPKLodz pisze:10 27 C:\Users\Michał\Desktop\C++\projekt1.cpp [Error] 'BLUE' was not declared in this scope
Z tego wynika, że stała BLUE jest nieznana w trakcie kompilacji. Teraz zerkamy do nagłówka i widzimy:

Kod: Zaznacz cały

#if defined(_WINDOWS_H) || defined(_GNU_H_WINDOWS_H)
/* MINGW32 G++ Compiler:
*  Define the colors type in the same way that Borland does.
*  Define CLR_INVALID from Borlands /win32/wingdi.h.
*  Get the memset prototype from string.h. Note that sometimes <string.h> is
*  actually <g++/String.h> for the Windows compiler because. In this case
*  _STRING_H_ will not be defined but we can still pick it up from <../string.h>.
*  Also define random for the bgidemo function.
*/
enum colors {
    BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY,
    LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE
};
#if !defined(CLR_INVALID)
#define CLR_INVALID 0xFFFFFFFF
#endif
#include <string.h>
#ifndef _STRING_H_
#include <../string.h>
#endif
#else
/* BORLAND Compiler:
* Colors are already defined in the BC5 conio.h, using COLORS.
* So for Borland I'll replace this enum with a #define definition.
*/
#define colors COLORS
#endif
A to sugeruje, że nie mamy zdefiniowanego symbolu. Spróbuj dodać symbol

Kod: Zaznacz cały

#define _WINDOWS_H
przed linijką załączającą winbgim.h.
Aczkolwiek wypadałoby dokładnie sprawdzić, jak preprocesor właściwie przetworzył plik. No i mógłbyś podać, jakiego kompilatora używasz.
ODPOWIEDZ