Macros have no namespaces and always lie globally, your macro only works inside your namespace, and outside it gives an error when you try to access it.
I suggest that you put the macro in the global namespace and prefix it with the namespace name of the library; if someone wants to rename the namespace they can create a new macro with a different name for each macro.