中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-09-14 08:35
47,812 topics / 349,917 posts / today 0 new / 48,268 members
DOS开发编程 & 发展交流 (开发室) » djgpp Allegro compilation problem
Printable Version  972 / 1
Floor1 imp Posted 2003-12-02 00:00
银牌会员 Posts 309 Credits 1,001
/*
* Example program for the Allegro library, by Shawn Hargreaves.
*
* This is a very simple program showing how to get into graphics
* mode and draw text onto the screen.
*/


#include "allegro.h"



int main()
{
/* you should always do this at the start of Allegro programs */
if (allegro_init() != 0)
return 1;

/* set up the keyboard handler */
install_keyboard();

/* set a graphics mode sized 320x200 */
if (set_gfx_mode(GFX_AUTODETECT, 320, 200, 0, 0) != 0) {
if (set_gfx_mode(GFX_SAFE, 320, 200, 0, 0) != 0) {
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
allegro_message("Unable to set any graphic mode\n%s\n", allegro_error);
return 1;
}
}

/* set the color palette */
set_palette(desktop_palette);

/* clear the screen to white */
clear_to_color(screen, makecol(255, 255, 255));

/* you don't need to do this, but on some platforms (eg. Windows) things
* will be drawn more quickly if you always acquire the screen before
* trying to draw onto it.
*/
acquire_screen();

/* write some text to the screen with black letters and transparent background */
textout_centre_ex(screen, font, "Hello, world!", SCREEN_W/2, SCREEN_H/2, makecol(0,0,0), -1);

/* you must always release bitmaps before calling any input functions */
release_screen();

/* wait for a keypress */
readkey();

return 0;
}

END_OF_MAIN();

This program was provided with Allegro.
It compiles smoothly under 98.

But when compiling under DOS, this appears:
gcc -o hello.exe exhello.c -lalleg
in file include form g:/djgpp/include/allegro/base.h:25,
form g:/djgpp/include/allegro.h:25,
form exhello.c:9:
g:/djgpp/lib/gcc-lib//djgpp/3.1/include/limits.h:11:23: syslimits.h: no such file or director (ENOENT)

What is going on?
Floor2 imp Posted 2003-12-02 00:00
银牌会员 Posts 309 Credits 1,001
Ugh, I know now. It's because DOS doesn't support long filenames.
After I loaded doslfn, it worked. ^_^


[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023