まず、私は2日間私の答えを探していたと言いましょう、私は何も見つかりませんでした!そこで、ここでそれを尋ねることにしました。Cのグラフィックヘッダー合併症のエラー
私はgraphics.hとlibbgi.aファイルをダウンロードし、提供されている手順とまったく同じでしたが、まだ動作しません!私はリンカパラメータも設定しました。これはC++モードでは動作しますが、Cモードでは動作しないと言わなければなりません。私はDev-C++ 4.9.9.2も使用しています。ここで私が得るものです:
誰も私のために問題を説明することはできますか?
P.S:ヘッダコード、それはC++モードではなく、Cモードで動作する場合それはそれはおそらくC++ライブラリだということを教え、
// The winbgim library, Version 6.0, August 9, 2004
// Written by:
// Grant Macklem ([email protected])
// Gregory Schmelter ([email protected])
// Alan Schmidt ([email protected])
// Ivan Stashak ([email protected])
// Michael Main ([email protected])
// CSCI 4830/7818: API Programming
// University of Colorado at Boulder, Spring 2003
// ---------------------------------------------------------------------------
// Notes
// ---------------------------------------------------------------------------
// * This library is still under development.
// * Please see http://www.cs.colorado.edu/~main/bgi for information on
// * using this library with the mingw32 g++ compiler.
// * This library only works with Windows API level 4.0 and higher (Windows 95, NT 4.0 and newer)
// * This library may not be compatible with 64-bit versions of Windows
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// Macro Guard and Include Directives
// ---------------------------------------------------------------------------
#ifndef WINBGI_H
#define WINBGI_H
#include <windows.h> // Provides the mouse message types
#include <limits.h> // Provides INT_MAX
#include <sstream> // Provides std::ostringstream
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// Definitions
// ---------------------------------------------------------------------------
// Definitions for the key pad extended keys are added here. When one
// of these keys are pressed, getch will return a zero followed by one
// of these values. This is the same way that it works in conio for
// dos applications.
#define KEY_HOME 71
#define KEY_UP 72
#define KEY_PGUP 73
#define KEY_LEFT 75
#define KEY_CENTER 76
#define KEY_RIGHT 77
#define KEY_END 79
#define KEY_DOWN 80
#define KEY_PGDN 81
#define KEY_INSERT 82
#define KEY_DELETE 83
#define KEY_F1 59
#define KEY_F2 60
#define KEY_F3 61
#define KEY_F4 62
#define KEY_F5 63
#define KEY_F6 64
#define KEY_F7 65
#define KEY_F8 66
#define KEY_F9 67
// Line thickness settings
#define NORM_WIDTH 1
#define THICK_WIDTH 3
// Character Size and Direction
#define USER_CHAR_SIZE 0
#define HORIZ_DIR 0
#define VERT_DIR 1
// Constants for closegraph
#define CURRENT_WINDOW -1
#define ALL_WINDOWS -2
#define NO_CURRENT_WINDOW -3
// The standard Borland 16 colors
#define MAXCOLORS 15
enum colors { BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY,
LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE };
// The standard line styles
enum line_styles { SOLID_LINE, DOTTED_LINE, CENTER_LINE, DASHED_LINE, USERBIT_LINE };
// The standard fill styles
enum fill_styles { EMPTY_FILL, SOLID_FILL, LINE_FILL, LTSLASH_FILL, SLASH_FILL,
BKSLASH_FILL, LTBKSLASH_FILL, HATCH_FILL, XHATCH_FILL, INTERLEAVE_FILL,
WIDE_DOT_FILL, CLOSE_DOT_FILL, USER_FILL };
// The various graphics drivers
enum graphics_drivers { DETECT, CGA, MCGA, EGA, EGA64, EGAMONO, IBM8514, HERCMONO,
ATT400, VGA, PC3270 };
// Various modes for each graphics driver
enum graphics_modes { CGAC0, CGAC1, CGAC2, CGAC3, CGAHI,
MCGAC0 = 0, MCGAC1, MCGAC2, MCGAC3, MCGAMED, MCGAHI,
EGALO = 0, EGAHI,
EGA64LO = 0, EGA64HI,
EGAMONOHI = 3,
HERCMONOHI = 0,
ATT400C0 = 0, ATT400C1, ATT400C2, ATT400C3, ATT400MED, ATT400HI,
VGALO = 0, VGAMED, VGAHI,
PC3270HI = 0,
IBM8514LO = 0, IBM8514HI };
// Borland error messages for the graphics window.
#define NO_CLICK -1 // No mouse event of the current type in getmouseclick
enum graph_errors { grInvalidVersion = -18, grInvalidDeviceNum = -15, grInvalidFontNum,
grInvalidFont, grIOerror, grError, grInvalidMode, grNoFontMem,
grFontNotFound, grNoFloodMem, grNoScanMem, grNoLoadMem,
grInvalidDriver, grFileNotFound, grNotDetected, grNoInitGraph,
grOk };
// Write modes
enum putimage_ops{ COPY_PUT, XOR_PUT, OR_PUT, AND_PUT, NOT_PUT };
// Text Modes
enum horiz { LEFT_TEXT, CENTER_TEXT, RIGHT_TEXT };
enum vertical { BOTTOM_TEXT, VCENTER_TEXT, TOP_TEXT }; // middle not needed other than as seperator
enum font_names { DEFAULT_FONT, TRIPLEX_FONT, SMALL_FONT, SANS_SERIF_FONT,
GOTHIC_FONT, SCRIPT_FONT, SIMPLEX_FONT, TRIPLEX_SCR_FONT,
COMPLEX_FONT, EUROPEAN_FONT, BOLD_FONT };
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// Structures
// ---------------------------------------------------------------------------
// This structure records information about the last call to arc. It is used
// by getarccoords to get the location of the endpoints of the arc.
struct arccoordstype
{
int x, y; // Center point of the arc
int xstart, ystart; // The starting position of the arc
int xend, yend; // The ending position of the arc.
};
// This structure defines the fill style for the current window. Pattern is
// one of the system patterns such as SOLID_FILL. Color is the color to
// fill with
struct fillsettingstype
{
int pattern; // Current fill pattern
int color; // Current fill color
};
// This structure records information about the current line style.
// linestyle is one of the line styles such as SOLID_LINE, upattern is a
// 16-bit pattern for user defined lines, and thickness is the width of the
// line in pixels.
struct linesettingstype
{
int linestyle; // Current line style
unsigned upattern; // 16-bit user line pattern
int thickness; // Width of the line in pixels
};
// This structure records information about the text settings.
struct textsettingstype
{
int font; // The font in use
int direction; // Text direction
int charsize; // Character size
int horiz; // Horizontal text justification
int vert; // Vertical text justification
};
// This structure records information about the viewport
struct viewporttype
{
int left, top, // Viewport bounding box
right, bottom;
int clip; // Whether to clip image to viewport
};
// This structure records information about the palette.
struct palettetype
{
unsigned char size;
signed char colors[MAXCOLORS + 1];
};
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// API Entries
// ---------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
// Drawing Functions
void arc(int x, int y, int stangle, int endangle, int radius);
void bar(int left, int top, int right, int bottom);
void bar3d(int left, int top, int right, int bottom, int depth, int topflag);
void circle(int x, int y, int radius);
void cleardevice();
void clearviewport();
void drawpoly(int n_points, int* points);
void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius);
void fillellipse(int x, int y, int xradius, int yradius);
void fillpoly(int n_points, int* points);
void floodfill(int x, int y, int border);
void line(int x1, int y1, int x2, int y2);
void linerel(int dx, int dy);
void lineto(int x, int y);
void pieslice(int x, int y, int stangle, int endangle, int radius);
void putpixel(int x, int y, int color);
void rectangle(int left, int top, int right, int bottom);
void sector(int x, int y, int stangle, int endangle, int xradius, int yradius);
// Miscellaneous Functions
int getdisplaycolor(int color);
int converttorgb(int color);
void delay(int msec);
void getarccoords(arccoordstype *arccoords);
int getbkcolor();
int getcolor();
void getfillpattern(char *pattern);
void getfillsettings(fillsettingstype *fillinfo);
void getlinesettings(linesettingstype *lineinfo);
int getmaxcolor();
int getmaxheight();
int getmaxwidth();
int getmaxx();
int getmaxy();
bool getrefreshingbgi();
int getwindowheight();
int getwindowwidth();
int getpixel(int x, int y);
void getviewsettings(viewporttype *viewport);
int getx();
int gety();
void moverel(int dx, int dy);
void moveto(int x, int y);
void refreshbgi(int left, int top, int right, int bottom);
void refreshallbgi();
void setbkcolor(int color);
void setcolor(int color);
void setfillpattern(char *upattern, int color);
void setfillstyle(int pattern, int color);
void setlinestyle(int linestyle, unsigned upattern, int thickness);
void setrefreshingbgi(bool value);
void setviewport(int left, int top, int right, int bottom, int clip);
void setwritemode(int mode);
// Window Creation/Graphics Manipulation
void closegraph(int wid=ALL_WINDOWS);
void detectgraph(int *graphdriver, int *graphmode);
void getaspectratio(int *xasp, int *yasp);
char *getdrivername();
int getgraphmode();
int getmaxmode();
char *getmodename(int mode_number);
void getmoderange(int graphdriver, int *lomode, int *himode);
void graphdefaults();
char *grapherrormsg(int errorcode);
int graphresult();
void initgraph(int *graphdriver, int *graphmode, char *pathtodriver);
int initwindow
(int width, int height, const char* title="Windows BGI", int left=0, int top=0, bool dbflag=false, bool closeflag=true);
int installuserdriver(char *name, int *fp); // Not available in WinBGI
int installuserfont(char *name); // Not available in WinBGI
int registerbgidriver(void *driver); // Not available in WinBGI
int registerbgifont(void *font); // Not available in WinBGI
void restorecrtmode();
void setaspectratio(int xasp, int yasp);
unsigned setgraphbufsize(unsigned bufsize); // Not available in WinBGI
void setgraphmode(int mode);
void showerrorbox(const char *msg = NULL);
// User Interaction
int getch();
int kbhit();
// User-Controlled Window Functions (winbgi.cpp)
int getcurrentwindow();
void setcurrentwindow(int window);
// Double buffering support (winbgi.cpp)
int getactivepage();
int getvisualpage();
void setactivepage(int page);
void setvisualpage(int page);
void swapbuffers();
// Image Functions (drawing.cpp)
unsigned imagesize(int left, int top, int right, int bottom);
void getimage(int left, int top, int right, int bottom, void *bitmap);
void putimage(int left, int top, void *bitmap, int op);
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
);
void readimagefile(
const char* filename=NULL,
int left=0, int top=0, int right=INT_MAX, int bottom=INT_MAX
);
void writeimagefile(
const char* filename=NULL,
int left=0, int top=0, int right=INT_MAX, int bottom=INT_MAX,
bool active=true, HWND hwnd=NULL
);
// Text Functions (text.cpp)
void gettextsettings(struct textsettingstype *texttypeinfo);
void outtext(char *textstring);
void outtextxy(int x, int y, char *textstring);
void settextjustify(int horiz, int vert);
void settextstyle(int font, int direction, int charsize);
void setusercharsize(int multx, int divx, int multy, int divy);
int textheight(char *textstring);
int textwidth(char *textstring);
extern std::ostringstream bgiout;
void outstream(std::ostringstream& out=bgiout);
void outstreamxy(int x, int y, std::ostringstream& out=bgiout);
// Mouse Functions (mouse.cpp)
void clearmouseclick(int kind);
void clearresizeevent();
void getmouseclick(int kind, int& x, int& y);
bool ismouseclick(int kind);
bool isresizeevent();
int mousex();
int mousey();
void registermousehandler(int kind, void h(int, int));
void setmousequeuestatus(int kind, bool status=true);
// Palette Functions
palettetype *getdefaultpalette();
void getpalette(palettetype *palette);
int getpalettesize();
void setallpalette(palettetype *palette);
void setpalette(int colornum, int color);
void setrgbpalette(int colornum, int red, int green, int blue);
// Color Macros
#define IS_BGI_COLOR(v) (((v) >= 0) && ((v) < 16))
#define IS_RGB_COLOR(v) ((v) & 0x03000000)
#define RED_VALUE(v) int(GetRValue(converttorgb(v)))
#define GREEN_VALUE(v) int(GetGValue(converttorgb(v)))
#define BLUE_VALUE(v) int(GetBValue(converttorgb(v)))
#undef COLOR
int COLOR(int r, int g, int b); // No longer a macro
#ifdef __cplusplus
}
#endif
// ---------------------------------------------------------------------------
#endif // WINBGI_H
テキストの画像を投稿しないでください。 –