g++ setup
Karl F. Larsen
klarsen1 at gmail.com
Sat Feb 13 16:30:21 UTC 2010
John D Lamb wrote:
> On Fri, 2010-02-12 at 13:58 -0700, Karl F. Larsen wrote:
>> I have tried to understand man g++ which has 13680 lines of
>> information. There are two basic types of g++ which are used
>> in the USA. They are Standard C++ and ANSI/ISO Standard C++.
>>
>> Is there a way to change g++ so it uses either of those
>> standards? In 10.04 I find it set for ANSI/ISO Standard C++
>> and would like to change it.
>
> AFAIK g++ without any options compiles by default against the 1998 ISO
> standard C++ with some gnu extensions. This is equivalent to
>
> $ g++ -std=gnu++98 …
>
> If you want strict ISO standard, use
>
> $ g++ -ansi …
>
> or
>
> $ g++ -std=c++98 …
>
> There is also
>
> $ g++ -std=c++0x …
>
> for more recent versions of the standard. But note that g++ doesn’t yet
> support (I think) support everything in every standard. I don’t think
> any c++ compiler does. Typically you get some problems with some kinds
> of template code.
>
> If you’re looking for compatibility with other systems, -ansi might
> help, though you might also want to use the -pedantic flag so that g++
> gives errors rather than warnings. If you just want the compiler to stop
> you writing poor code (e.g. functions that don’t return a value when the
> should), the -pedantic and -Wall flags help.
>
I tried all the flags without success. The 10-04 system has
ANSI/ISO Standard C++ and that is that. What does work is
changing code in the program listings.
My older 9.04 uses Standard C++ and in the program you use
#include<iostream.h> which works fine.
On 10-04 you need #include<iostream> AND using namespace std;
It appears no flag can do this.
73 Karl
--
Karl F. Larsen, AKA K5DI
Linux User
#450462 http://counter.li.org.
Key ID = 3951B48D
More information about the ubuntu-users
mailing list