gcc and g++

The Interix Software Development Kit (SDK) includes the gcc(1), g++(1), and g77(1) compiler and front ends, and the C++ (libg++) and Fortran libraries. The gcc/g++ compiler does not require Microsoft Visual C++ to run; nor does it prevent the use of Visual C++.

The gcc/g++/g77 compiler and front ends, and the libg++ library are distributed under the terms of the GNU license agreements. It is important to understand the Free Software Foundation’s General Public License before using gcc or g++. It is also important to understand the Library General Public License before linking with the libg++ C++ library or the Fortran library. The license agreements are in the files Gpl.txt and Lgpl.Txt in the /docs directory.

The gcc/g++ package includes a number of binaries installed in /usr/contrib/bin. These are g++, gcc, gcov(1), ld(1), objdump(1), and protoize(1). Other files are installed in /usr/contrib/i386-pc-interix/cygnus-2.7.2-970404. The cc/c89 utilities will not recognize gcc. To use gcc or g++, you must modify your Makefiles so that CC=gcc or CC=g++.

Object file compatibility

You can use the gcc linker to link the object files created by either cc(1) or c89(1), or by gcc or g++. You cannot usually use the Visual C++ linker used by cc/c89 to link object files created by gcc/g++. Although the object files created by gcc/g++ are in a compatible format, they contain additional symbol types and conventions.