Problems trying to compile very simple code

M

Michael

Hi All,

I have three very simple files as below.
When I try and compile these with g++ -ansi -Wall -pedantic -o crap Base.h
Other.h
I get an error:

Base.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Other.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [all] Error 1

Can anyone tell me why? If I remove the #include <iostream> it compiles
without error.

Thanks for your help

Michael

-----------first file--Base.h--------

#ifndef _Base_
#define _Base_

#include <iostream>
class Base {

};

#endif

-------------second file--Other.h-------

#endif

#ifndef _Other_
#define _Other_

#include "Base.h"

class Other {
};

#endif

-------------Third file---crap.cpp-------

int main(){
}
 
R

red floyd

Michael said:
Hi All,

I have three very simple files as below.
When I try and compile these with g++ -ansi -Wall -pedantic -o crap Base.h
Other.h
I get an error:

Base.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Other.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [all] Error 1

Can anyone tell me why? If I remove the #include <iostream> it compiles
without error.

Thanks for your help

Michael

-----------first file--Base.h--------

#ifndef _Base_
#define _Base_

#include <iostream>
class Base {

};

#endif

-------------second file--Other.h-------

#endif

#ifndef _Other_
#define _Other_

#include "Base.h"

class Other {
};

#endif

-------------Third file---crap.cpp-------

int main(){
}

Probably not the cause of your problem, but your program is ill-formed.
Any identifier with a leading underscore followed by an uppercase
letter (e.g. _Base_ or _Other_) is reserved for use by the
implementation -- you may not use it for your own purposes.

As for the rest, a g++ internal error should be posted in gnu.g++.help,
we don't discuss compiler specifics here.
 
J

Jim Langston

Michael said:
Hi All,

I have three very simple files as below.
When I try and compile these with g++ -ansi -Wall -pedantic -o crap Base.h
Other.h

Why are you trying to compile a header? You compile code (.cpp) files, not
code files.

I don't use g++ but with your sample line I think you should be doing:
g++ -ansi -Wall -pedantic -o crap crap.cpp

crap.cpp itself will pull in the headers IF you use include statments. That
is, change crap.cpp to be:

#include "Base.h"
#include "Other.h"

int main()
{
}


I get an error:

Base.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Other.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [all] Error 1

Can anyone tell me why? If I remove the #include <iostream> it compiles
without error.

Thanks for your help

Michael

-----------first file--Base.h--------

#ifndef _Base_
#define _Base_

#include <iostream>
class Base {

};

#endif

-------------second file--Other.h-------

#endif

#ifndef _Other_
#define _Other_

#include "Base.h"

class Other {
};

#endif

-------------Third file---crap.cpp-------

int main(){
}
 
J

Jim Langston

Jim Langston said:
Why are you trying to compile a header? You compile code (.cpp) files,
not code files.

My bad. I meant to say, You compile code (.cpp) files, not header (.h)
files.
I don't use g++ but with your sample line I think you should be doing:
g++ -ansi -Wall -pedantic -o crap crap.cpp

crap.cpp itself will pull in the headers IF you use include statments.
That is, change crap.cpp to be:

#include "Base.h"
#include "Other.h"

int main()
{
}


I get an error:

Base.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Other.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [all] Error 1

Can anyone tell me why? If I remove the #include <iostream> it compiles
without error.

Thanks for your help

Michael

-----------first file--Base.h--------

#ifndef _Base_
#define _Base_

#include <iostream>
class Base {

};

#endif

-------------second file--Other.h-------

#endif

#ifndef _Other_
#define _Other_

#include "Base.h"

class Other {
};

#endif

-------------Third file---crap.cpp-------

int main(){
}
 
B

Bo Persson

Michael said:
Hi All,

I have three very simple files as below.
When I try and compile these with g++ -ansi -Wall -pedantic -o crap Base.h
Other.h
I get an error:

Base.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Other.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [all] Error 1

Can anyone tell me why? If I remove the #include <iostream> it compiles
without error.

Thanks for your help

Michael

-----------first file--Base.h--------

#ifndef _Base_
#define _Base_

#include <iostream>
class Base {

};

#endif

-------------second file--Other.h-------

#endif

Do you really have an #endif here? If so, why?


Bo Persson
 
M

Michael

Bo Persson said:
Michael said:
Hi All,

I have three very simple files as below.
When I try and compile these with g++ -ansi -Wall -pedantic -o crap
Base.h Other.h
I get an error:

Base.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Other.h:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [all] Error 1

Can anyone tell me why? If I remove the #include <iostream> it compiles
without error.

Thanks for your help

Michael

-----------first file--Base.h--------

#ifndef _Base_
#define _Base_

#include <iostream>
class Base {

};

#endif

-------------second file--Other.h-------

#endif

Do you really have an #endif here? If so, why?

No, sorry, cut and paste error :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,906
Latest member
SkinfixSkintag

Latest Threads

Top