Hi Hiroki, Worked on my machine. I think the problem is that you are not passing this to the compiler: -D MYNAME="macrotest" Rather, I think you are passing this to the compiler: -D MYNAME=macrotest Depending on your shell, you may need to escape the quotes, such as one of these two ways: -D MYNAME=\"macrotest\" -D MYNAME='"macrotest"' OTHERWISE, I suspect, your shell is processing (stripping) the quotes. HTH, --Eljay