From: Damian Yerrick Newsgroups: comp.os.msdos.djgpp Subject: Before you ask a common question, Read Me Third Organization: Pin Eight Software http://pineight.8m.com/ Message-ID: <854lbsg0j3tjrq1g1k42uitti1n3tu6cr3@4ax.com> X-Newsreader: Forte Agent 1.7/32.534 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 207 X-Trace: /KkIjBT7bzYsKk0xbFjW/s00XybF5ERdDLOkzXd+Z+CYXaUROMBde0gnHyDcuVSjjBTEpM3SIIgA!+KsHiXz3XiZeTPj9GEe/Y2lRA0fy2Nw6dcD1rxvIRkhGs/MK9MlNmHW78YdkX6qfeHu8ahAwDUFj!ovX5Dw== 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, 28 Feb 2000 15:22:23 GMT Distribution: world Date: Mon, 28 Feb 2000 15:22:23 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 (updated 28 February 2000) 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 full version at http://www.delorie.com/djgpp/v2faq/ 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 "undefined reference" to everything 5. C++: linker "cannot open -lstdcx" 6. Long file names 7. How do I do (graphics)? How do I do (sound)? What is "spilled"? 8. What is DPMI? 9. Program crashes in _free 10. 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 , it has been shelved 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 DPMI host called CWSDPMI, but a compatible extender is built into enhanced mode Windows 3.1 and later. Because DJGPP is a port of the popular Linux compiler GCC from Experimental GNU Compiler Systems, programs developed with DJGPP will be more portable (Davin McCall ). And its libc fully supports long filenames under DOS environments that provide them, i.e. Windows 95, 98, and 2000 (note: not NT <= 4). "Well, for me it is one factor - price. I cannot spend the hundreds (or thousands) I'll need to pay in my local currency for Watcom. Along with that, I sincerely believe DJGPP's "after sales support" (if you can term it that for a free compiler) is 100% better, it is regularly updated, has diversified widely (GCC on which it is based is widely used on almost all Unix implementations) it has a good track record (e.g. Quake was coded in it) it produced fast code, is very stable, well debugged, etc - I have used it extensively for a hobbyist programmer and I have NEVER had ANY trouble that could be attributed to a buggy compiler, preproccessor, assembler or whatever. Plus, tips and techniques for doing almost anything, from sound programming to high resolution hi color programming is widely and very importantly FREELY available - which I am quite sure does not apply to Watcom in most instances." (Stefan Viljoen ) Send your DJGPP success stories to djgpp-stories AT pineight DOT 8m DOT com 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: C:\>gcc hello.c -o hello.exe Or you can use RHIDE, Robert Hoehne's Integrated Development Environment, which works almost exactly like Borland Turbo C++ for DOS. If you downloaded it from Pavenis's web site, and you installed DJGPP to c:\djgpp, RHIDE should be at c:\djgpp\bin\rhide.exe Or you can learn GNU Make, a scripting language for file translation dependencies. C:\>info make Q: When I try to compile and link a C++ program from the command line, I get "undefined reference" errors all over the place. A: Use gpp instead of gcc. gpp knows about the extra libraries that C++ programs need. 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. A fix for this problem has been integrated into DJGPP 2.03; get it at the zip picker. 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 C++ 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 4's DOS emulator. You probably used WinZip under Windows to unzip DJGPP (giving libstd~1.a according to plain DOS). 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.931 works on mingw32, Linux, DJGPP, Watcom C++, and even dreaded Microsoft Visual C++, and Borland C++Builder. Get it at http://www.talula.demon.co.uk/allegro/ Note: 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++ or mingw32, 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), you'll need a DPMI host such as CWSDPMI. Download it from the DJGPP Zip Picker; then unzip cwsdpmi.exe into a folder on your PATH. Q: My program crashes. When I symify the traceback, the first EIP is inside the _free function. A. You most likely wrote beyond the end of a block. Try a memory debugger such as YAMD. For more information, see section 9.2 of the full DJGPP FAQ list. 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? Linux cross-compiler?) 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/ Looking for a book? Try Barnes & Noble. http://bn.bfast.com/booklink/click?sourceid=9831085&categoryid=homepage Hate spam? http://spamcop.net/ Looking for tetris? http://fordms2.student.rose-hulman.edu/~tetris/ Now you can get on with your life. -- Damian Yerrick http://yerricde.tripod.com/ Comment on story ideas: http://home1.gte.net/frodo/quickjot.html AOL is sucks! Find out why: http://anti-aol.org/faqs/aas/ View full sig: http://www.rose-hulman.edu/~yerricde/sig.html This is McAfee VirusScan. Add these two lines to your .sig to prevent the spread of .sig viruses. http://www.mcafee.com/