www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/11/22/14:42:12

Xref: news-dnh.mv.net comp.os.msdos.djgpp:3383
Path: news-dnh.mv.net!mv!news.sprintlink.net!europa.chnt.gtegsc.com!paladin.american.edu!gatech!newsfeed.internetmci.com!in2.uu.net!usc!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!in2p3.fr!swidir.switch.ch!scsing.switch.ch!rzunews.unizh.ch!alex
From: alex AT zool DOT unizh DOT ch (Alex Schroeder)
Newsgroups: comp.os.msdos.djgpp
Subject: Using the GNU C++ library & linkage errors
Date: 22 Nov 1995 08:37:28 GMT
Organization: University of Zurich, Switzerland
Lines: 150
Nntp-Posting-Host: rzurs10.unizh.ch
Keywords: linking, library, c++
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

My Problem is, that I cannot compile any code which uses the libgpp.a
library (ie. the String class and all the other ones). I tried
uncountable ways of linking the different libraries, but to no
avail. I can compile to object *.o files, but I cannot link them. I
have read the FAQ 1.02 and it doesn't help (section 8.10 and 8.11). I
have listet here all the information which could possibly be relevant
in order to solve the problem. I would appreciate any help at all.
Perhaps my specs file is ruined?

I am running DOS 6.00 on a 486/33DX, use GCC 2.6.3 maintenance 4. I
can compile C code without any problems at all.

Alex.



Test program called TEST.CPP:
------------------------------------------------------------------------

#include <_string.h>

main ()
{
    String x;
}

------------------------------------------------------------------------





MAKEFILE (stripped a bit):
------------------------------------------------------------------------

SHELL = $(COMSPEC) /c

..PHONY : clean

test1: test.cpp
	gcc -v test.cpp -o test1.cof -lgpp -lgpl -lm -lpc > test1.rep

test2: test.cpp
	gcc -v test.cpp -o test2.cof -lgpp -lgpl > test2.rep

test3: test.cpp
	gcc -v -O test.cpp -o test3.cof -lgpp -lgpl -lm -lpc > test3.rep

clean:
	del *.rep
	del *.cof
	del *.o
	del *.bak

------------------------------------------------------------------------




A Sample Result (test1.rep looks just like test2 and test3):
------------------------------------------------------------------------

Reading specs from c:/util/gcc/lib\specs
gcc version 2.6.3
 c:/util/gcc/bin\cpp.exe -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=6 -Dunix -Di386 -DGO32 -DMSDOS -D__unix__ -D__i386__ -D__GO32__ -D__MSDOS__ -D__unix -D__i386 -D__GO32 -D__MSDOS test.cpp c:/TEMP\cc000119
GNU CPP version 2.6.3 (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
 c:/util/gcc/cplusinc
 c:/util/gcc/include
 /usr/local/lib/g++-include
 /usr/local/include
 /usr/local/go32/include
 /usr/local/lib/gcc-lib/go32/2.6.1/include
 /usr/include
End of search list.
 c:/util/gcc/bin\cc1plus.exe c:/TEMP\cc000119 -quiet -dumpbase test.cc -version -o c:/TEMP\cca00119
GNU C++ version 2.6.3 (80386, BSD syntax) compiled by GNU C version 2.6.3.
 c:/util/gcc/bin\as.exe -o c:/TEMP\ccb00119 c:/TEMP\cca00119
 c:/util/gcc/bin\ld.exe -o test1.cof c:/util/gcc/lib\crt0.o -Lc:/util/gcc/lib c:/TEMP\ccb00119 -lgpp -lgpl -lm -lpc -lgcc -lc -lgcc
String.cc(.text+0x15be): undefined reference to `ostream::operator<<(char const *)'
String.cc(.text+0x1967): undefined reference to `lib_error_handler'
String.cc(.text+0x1a25): undefined reference to `lib_error_handler'
String.cc(.text+0x1ae1): undefined reference to `lib_error_handler'
String.cc(.text+0x1b3b): undefined reference to `lib_error_handler'
String.cc(.text+0x1c45): undefined reference to `lib_error_handler'
String.cc(.text+0x1d75): more undefined references to `lib_error_handler' follow
String.cc(.text+0x405e): undefined reference to `ostream::flush(void)'
String.cc(.text+0x4072): undefined reference to `istream::_skip_ws(void)'
String.cc(.text+0x4096): undefined reference to `ws(istream &)'
String.cc(.text+0x40f1): undefined reference to `__uflow'
String.cc(.text+0x41a8): undefined reference to `ostream::flush(void)'
String.cc(.text+0x41bc): undefined reference to `istream::_skip_ws(void)'
String.cc(.text+0x4206): undefined reference to `__uflow'
String.cc(.text+0x42cf): undefined reference to `__overflow'
_Regex.cc(.text+0x10e): undefined reference to `lib_error_handler'
_Regex.cc(.text+0x254): undefined reference to `lib_error_handler'

------------------------------------------------------------------------


djgpp.env:
------------------------------------------------------------------------
DJDIR=%:/>DJGPP%

+USER=dosuser
+TMPDIR=%DJDIR%/tmp
+GO32TMP=%DJDIR%/tmp

[cpp]
CPLUS_INCLUDE_PATH=%/>;CPLUS_INCLUDE_PATH%%DJDIR%/cplusinc;%DJDIR%/include
C_INCLUDE_PATH=%/>;C_INCLUDE_PATH%%DJDIR%/include

[gcc]
COMPILER_PATH=%/>;COMPILER_PATH%%DJDIR%/bin
LIBRARY_PATH=%/>;LIBRARY_PATH%%DJDIR%/lib

[info]
INFOPATH=%/>;INFOPATH%%DJDIR%/docs;%DJDIR%/docs/djgpp;%DJDIR%/docs/texinfo
------------------------------------------------------------------------





My real environment (cut out a few irrelevant things):
------------------------------------------------------------------------

CONFIG=DOS_GCC
COMSPEC=C:\DOS\COMMAND.COM
TEMP=C:\TEMP
PATH=C:\DOS;C:\UTIL\DISK;C:\UTIL\ARC;C:\UTIL\GCC\BIN
BLASTER=A220 I5 D1 T1
TZ=MET-1DST
PGPPATH=c:\util\pgp
DJGPP=c:/util/gcc/djgpp.env
TMPDIR=c:/TEMP
GO32TMP=c:/TEMP
GO32=2r1 ansi driver c:/util/gcc/drivers/tseng4k.grd gw 1024 gh 768

------------------------------------------------------------------------






--
Grofzg! Mofzg! NagaNnaga! NnnaAARGHGAA! Agha! Naganahhagga!
PGP public key available on request from alex AT zool DOT unizh DOT ch

- Raw text -


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