Message-Id: <199801042040.HAA23345@mona.lexicon.net.au> From: "John Machin" To: djgpp AT delorie DOT com Date: Mon, 5 Jan 1998 07:38:01 +1000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Book "Practical C++ Programming" / examples / DJGPP format CC: Eli Zaretskii Precedence: bulk Background: Been using C since BDS C running on CP/M. Been using DJGPP C since version 1.something. New to C++. I got a copy of above book (author is Steve Oualline, publisher is O'Reilly & Associates) as a present. I've downloaded the source (DOS version) examples from the O'Reilly web site. Problem: DOS version has files with .cpp extensions, and makefiles for Borland C++, Turbo C++, MS, generic Unix, and "GNU". The "GNU" makefiles are closest to what's required for DJGPP. Here's a typical makefile.gnu (minus comments) for a single source-file example: === start of makefile.gnu CC=g++ CFLAGS=-g -Wall all: array array: array.cc $(CC) $(CFLAGS) -o array array.cc clean: rm array === end of makefile.gnu Some changes would be needed: (1) (a) CC = gcc, CFLAGS += -lgpp -lstdcx [**** FAQ BUG *** see below] OR (b) CC = gxx (2) File extension conflict (files are called foo.cpp, makefile uses foo.cc) Before I launch into awk / perl / shell-utilities to lash up a bulk fix-up, I have some questions: (1) Has anyone already done this? (2) Which is a "better" naming convention to use for C++ source files generally, foo.cc or foo.cpp? (3) Has Q2 just started a holy war? (4) As most of the examples involve a single source file, I think I'll just write a mak.bat that compiles & links the %1.cc or %1.cpp file, and fiddle the remaining makefiles by hand; this will save some disk space; any comments? Here's the (very minor) FAQ bug: > The Standard C++ Template classes are in `libstdcx.a' (it's called > `libstdc++.a' on Unix); append `-lstdcxx.' ^ Happy New Year to all, John Machin 1/27 Auburn Grove Hawthorn East, VIC 3123, Australia Phone: +61-3-98130561