www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/12/13/13:53:27

From: "Damian Yerrick" <NOSP AT Musenet@pineight.8m.com>
Newsgroups: comp.os.msdos.djgpp
Subject: If you're having problems with -lstdcx, Read Me Third!
Lines: 172
Organization: Pin Eight Software <http://pineight.8m.com/>
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2919.6600
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
Message-ID: <lC954.315$Sj6.13450@dfiatx1-snr1.gtei.net>
X-Trace: /w3LmagcYwroN2g0sf2bpAYxtxY7SRVORJy48ymHmszVlCdM3NPcEtvA/VWRcPrzNlS43QmSLgJM!YmqfLLIXiDQbrrPbkUM0/dx/cqsbnCXN+7fTDwv8afPZLYG+DlUQVaJ6tfIkHwAvniJlYz1wCA==
X-Complaints-To: abuse AT gte DOT net
X-Abuse-Info: Please be sure to forward a copy of ALL headers
X-Abuse-Info: Otherwise we will be unable to process your complaint properly
NNTP-Posting-Date: Mon, 13 Dec 1999 17:00:01 GMT
Distribution: world
Date: Mon, 13 Dec 1999 17:00:01 GMT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

  Read Me First: readme.1st @ http://www.delorie.com/djgpp/
  Read Me Second: DJ Delorie's Weekly Mini-FAQ post for DJGPP
> Read Me Third: The Short DJGPP FAQ List
  Read Me Fourth: The DJGPP FAQ @ http://www.delorie.com/djgpp/v2faq/

 _____________ _____________ _____________ _____________ _____________
Read Me Third: The Short DJGPP FAQ List
Most Frequently Asked Questions in comp.os.msdos.djgpp
By Damian Yerrick

Because many people do not have time to browse through the whole 200-
page DJGPP FAQ list, I created this extremely condensed version based
on the most common DJGPP questions on c.o.m.d and c.o.m.p.
Read the original at http://www.delorie.com/djgpp/v2faq/
Read the latest short FAQ at
  http://www.rose-hulman.edu/~yerricde/minifaq.txt

To be included in this list, a question must be related to DJGPP and
discussed in at least five separate threads in comp.os.msdos.djgpp
and/or comp.os.msdos.programmer. If a question is also answered in the
full FAQ, these five questions must have come within five weeks.


 1. Why DJGPP?
 2. Location of Info-ZIP
 3. I know C++. How do I enter my code into DJGPP?
 4. C++: linker "cannot open -lstdcx"
 5. Long file names
 6. How do I do (graphics)? How do I do (sound)? What is "spilled"?
 7. What is DPMI?
 8. How do I make a GUI?
 9. Help!


Q: I'm looking for a DOS compiler. Why DJGPP?

A: Watcom C++ was a payware C/C++ compiler that made 32-bit DOS
binaries. You can recognize a program built with Watcom because it
will generally come with the DOS extender DOS4GW.EXE. According to
Sascha Bendinger <digana AT t-online DOT de>, it has been shelved by
Powersoft and is no longer developed.

DJGPP, on the other hand, is a free C/C++ compiler that makes 32-bit
DOS binaries. DJGPP programs often come with a DOS extender
called CWSDPMI, but a compatible extender is built into Windows 3.1
and later. Because DJGPP is a port of the popular Linux compiler gcc,
programs developed with DJGPP will be more portable (Davin McCall
<DavMac AT iname DOT com>). And it fully supports long filenames under
Windows 95, 98, and 2000 (note: not NT <= 4).

I will eventually be posting DJGPP testimonials on my web site.


Q: WinZip wants to put each zipfile's contents into a new folder. How
do I unzip everything into C:\DJGPP?
Q: WinZip wants to make long filenames on my Windows NT. How do I
turn them off?

A: Get unzip32 from the DJGPP Zip Picker, at
    http://www.delorie.com/djgpp/
Then install everything as directed in the README.


Q: How do I enter my code into DJGPP?

A: You can use any text editor and then use gcc from the command line,
or you can use RHIDE, Robert Hoehne's Integrated Development
Environment. If you downloaded it from the DJGPP web site, and you
installed DJGPP to c:\djgpp, RHIDE should be at
    c:\djgpp\bin\rhide.exe


Q: When I try to compile and link a C++ program in RHIDE, I get
  Error: C:/djgpp/bin/ld.exe: cannot open -lstdcx: No such file or
    directory (ENOENT)

A: RHIDE 1.4 has a slight bug with long filenames in C++. See section
8.7 of the full FAQ list for a full explanation. The quick fix for
this problem is to add this line to c:\djgpp\share\rhide\rhide.env

  RHIDE_TYPED_LIBS_DJGPP.cc=stdcxx


Q: It still doesn't work. Now I get
  Error: C:/djgpp/bin/ld.exe: cannot open -lstdcxx: No such file or
    directory (ENOENT)
Q: Why can't I use long file names under NT or plain DOS?
Q: Why can't the compiler find streambuf.h?

A: MS-DOS by itself does not support long file names such as
l i b s t d c x x . a
and neither does Windows NT's DOS emulator. You probably used WinZip
under Windows to unzip DJGPP (giving libstd~1.a according to plain
DOS). Ever wonder why I call it SinZip? Try reinstalling DJGPP using
unzip32, as described above. See also section 22.18 of the full FAQ
list.


Q: How do I do (graphics)?
Q: How do I do (sound)?
Q: How do I do (mouse)?

A: The Allegro library by Shawn Hargreaves et al. handles the
keyboard, mouse, joystick, graphics, waves, and MIDI. Version 3.928
works on Win32, Linux, DJGPP, and even dreaded Watcom C++. Get it at
http://www.talula.demon.co.uk/allegro/
But make sure you get version 3.12 or later; otherwise, gcc 2.95 or
later will give you

 src/cpu.c:64: Invalid `asm' statement:
 src/cpu.c:64: fixed or forbidden register 0 (ax) was spilled for
    class AREG

And note that Allegro, when built for DOS, will not be able to use
SVGA resolutions (anything over 320x200) under Windows NT because NT
prohibits the sort of direct access required for SVGA. However, if you
build with Micro$oft Visual C++, Cygwin, or RSXNTDJ, you'll get a
Win32 program that uses DirectX.


Q: What is DPMI?
Q: When I try to run my program on my other computer, it gives me
Cannot load DPMI: get csdpmi*b.zip

A: DPMI, or the DOS Protected Mode Interface, is a method of
communication between 32-bit DJGPP programs and 16-bit PC DOS (MS-DOS,
DR DOS, FreeDOS). To run DJGPP programs in DOS mode (booting straight
into DOS as opposed to a DOS emulation box in Windows 9x), you'll need
to get a DPMI manager such as CWSDPMI. Download it from the DJGPP Zip
Picker; then unzip cwsdpmi.exe into a folder on your PATH.


Q: That
Q: How do I give my DJGPP program a GUI?

A: Use Turbo Vision for a text-mode GUI. I don't have the URL,
but you can find it on
http://www.google.com/
Use Allegro and its add-ons for an all points addressable
(read [S]VGA) GUI.
http://www.talula.demon.co.uk/allegro/


Q: My program doesn't work. Can someone on c.o.m.d help?

A: The general consensus is that we'll help if you provide these five
things:

1. Version number of DJGPP, gcc, binutils, and any add-ons
   (Allegro, RSXNTDJ, etc.) you are using.
2. Your operating system (DOS? Sin95? 98? NT?)
3. The smallest source code fragment that produces the error.
4. The command line you are using to make the program.
5. The exact error messages you get, either the error output from GCC
   (if you can't compile) or the output from symify.exe if there is a
   list of traceback EIPs (that is, if your program crashes at
   runtime).

Otherwise, we're not psychics. :-)


If you have any questions or comments, post them at
comp.os.msdos.djgpp *or* mail them to djgpp AT delorie DOT com; if they're
the most frequently asked, they may become part of this short FAQ
list.

--
Damian Yerrick    http://yerricde.tripod.com/
My .sig is too long to include in an e-mail or NG message.
Go to http://www.rose-hulman.edu/~yerricde/sig.html to see it.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019