Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Dec 2002 15:03:06 +0100 (CET)
From:      Andrew Prewett <andrew@kronos.HomeUnix.com>
To:        FreeBSD Questions <freebsd-questions@FreeBSD.ORG>
Subject:   Re: Adding to standard include path (GCC)
Message-ID:  <20021225141213.R35290@slave.east.ath.cx>
In-Reply-To: <200212251952.23932.ihsan_junaidi@yahoo.com.sg>
References:  <200212251952.23932.ihsan_junaidi@yahoo.com.sg>

next in thread | previous in thread | raw e-mail | index | archive | help
Today Ihsan Junaidi Ibrahim wrote:

> Hello all,
>
> I'm a starter to programming in FreeBSD after a few years in Visual C++ and
> would like to delve deeper into it. But I have a few questions which I need
> answers. I hope it wouldn't be too much a burden to you.
>
> I have two gccs installed, 2.95.4 (stock gcc) and 3.1.1.
>
> 1) How do add to the standard include path to a path that I designated without
> using the -I flag or is it fixed only to /usr/local/include and /usr/include.

You can edit the `specs' file, but you don't need.

gcc31 -v -E -dM - </dev/null

is `/usr/local/include' along with `/usr/include' in the output?

 With the new gcc (3.x) you dont need to specify `-I/usr/local/include',
`-I/usr/include', because it's already specified in the standard
include path.

>
> 2) I notice that the gcc31 include files does not contain the standard C
> headers ie stdio.h, assert.h etc. Does this mean whenever I want to link to
> the header, it is sufficient to use the ones in /usr/include?

if you mean include a header, then yes, for C code.
Simply use `#include <*.h>' in the C source (both gcc)

> 3) I notice too that there are many C++ and STL include files I'm getting
> confused on which ones to use. The files are located at /usr/include/g++,

this is for use with the system gcc (2.95)

> /usr/local/lib/i386-portbld-freebsd4.7/3.1.1/include/g++v3 and

this is for the new gcc (3.x)

> /usr/local/lib/i386-portbld-freebsd4.7/3.1.1/include/g++v3/backward.

this is for (older) C++ souces with `#include <*.h>' (gcc 3.x)

> Can someone enlighten me on which one should I use.

use the standard include files, ie.: `#include <iostream>',
`#include <string>', etc.  in C++ source and (normally) the right
header is pulled in

> I intend on programming  purely in C++ with the exception that in
> later date, I might be forced to use some of the C include files.

simply use `#include <cstdio>, #include <cassert>', etc. in the C++ source

	-andrew

>
> Thank you very much in advance.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021225141213.R35290>