in reply to Re^6: How convert header file to XS by h2xs?
in thread How convert header file to XS by h2xs?

I change the name of function from max to lc_max. it works! I don't understand why...

It could be because something in the included header files declares max some other way, so there's a conflict when the compiler reaches your declaration of max in test.h.

If you really want to know, grep for "max" in the -E output...  Or, to avoid name clashes in the first place, simply give your function a less "common" name.