Mail Archives: cygwin/1997/12/18/14:49:33
My apologies for not having more time to help with egcs installation
problems. Right now I'm a bit pressed for time with other projects.
I would like to clarify a few things so there is no misunderstanding:
1 egcs-1.00 provides a C++ compiler. Originally the executable used to
called g++, and then there was also c++, which was typically just linked
to g++. The difference was (there is no difference in egcs-1.00) that
g++ will also link with -lg++ (which is not a standard library) in
addition to whatever library was needed for C++ run-time suport.
Currently, c++ and g++ both just link to -lstdc++ to profide the C++
run-time support. libg++ is deprecated, or at least not supported, so
it's not linked in by default anymore. EGCS provides *both* executables,
c++ and g++, which are basically the same thing.
2 egcs-1.00, just like FSF gcc distribution, uses on environment
variables to find paths to include files, libraries, compilers etc; when
you use a binary distribution like the ones for gnu-win32/mingw32, you
have to set these correctly to get things working.
Here's a list of the most essential ones (for the shell and egcs):
* PATH: Your egcs binary directory must come before cgywin32 b18 binary
directory if you have these under different trees.
eg., PATH=c:\egcs\bin;c:\gnuwin32\b18\H-i386-cygwin32\bin;%PATH%
* GCC_EXEC_PREFIX: gcc uses this one to find the actual compilers such
as cc1 and cc1plus and also other files such libgcc.a and crt0.o.
eg., GCC_EXEC_PREFIX=c:\egcs\lib\gcc-lib\
The trailing slash is important for a variety of reasons.
* LIBRARY_PATH: gcc looks for various libraries using this path.
eg., LIBRARY_PATH=//c/egcs/H-i386-cygwin32/i386-cygwin32/lib:
//c/egcs/H-i386-cygwin32/lib
* C_INCLUDE_PATH: include path list for "C" include files (stdio.h eg)
eg., C_INCLUDE_PATH=//c/egcs/H-i386-cygwin32/i386-cygwin32/include:
//c/egcs/include
* C_PLUS_INCLUDE_PATH: include path list for "C++" includes. Must also
specify the paths to C includes as well.
eg., CPLUS_INCLUDE_PATH=//c/egcs/include/g++://c/egcs/include:
//c/egcs/H-i386-cygwin32/i386-cygwin32/include
* OBJC_INCLUDE_PATH: include path list for "objC" includes. Usually the
same as C include path:
eg., OBJC_INCLUDE_PATH=%C_INCLUDE_PATH%
And others such as COMPILER_PATH, but usually you can do without it if
you define the ones above.
3 EGCS provides *both* c++.exe and g++.exe, and if you don't have one of
the two, something is wrong with the tar program used to unpack the
distribution.
In the binary distribution, g++.exe is a link to c++.exe, and tar should
have done the right thing (either use symbolic link or make a new file).
If you have one that is zero-sized, simply copy over the other one on
top.
Regards,
Mumit -- khan AT xraylith DOT wisc DOT edu
http://www.xraylith.wisc.edu/~khan/
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".
- Raw text -