Mail Archives: djgpp/1998/01/04/15:42:56
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
- Raw text -