Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


c langage preprocessing

chelimalachelimala Member Posts: 1

I have a following header file


#define A 100

#if defined(A)
#error "You have defined A to 100"

when I do preprocessing it in the following way on a SunOs 5.10 it gives an error.

/usr/lib/cpp -C myhdr.h > myout
"/usr/include/sys/isa_defs.h", line 492: undefined control
"myhdr.h", line 6: undefined control

#error directive is causing the problem.

Please tell me the solution to avoid the above error on solaris box.

I preprocessed on AIX using the following command it works fine

xlc_r4 -C -E myhdr.h > myout


  • DonotaloDonotalo Member Posts: 715
    #error directives are used to produce compile time error. delete or commnent out the line containing #error directive and the program will compile.
  • LundinLundin Member Posts: 3,711
    The compiler must display the text "You have defined A to 100" or it isn't following the C standard. At any rate, it should not let the program compile, which seems to be the case.
Sign In or Register to comment.