Hi IOhannes,
well obvisouly there are two clashing things: you want pdlua to _import_ things from pd.dll (e.g. "post()"), therefore you should NOT define PD_INTERNAL you want pdlua to _export_ things (namely "pdlua_setup()")
Below are the last few lines of output when PD_INTERNAL is not defined.
you should never ever define PD_INTERNAL when you are not writing Pd internals (hence the name).
I think lua_setup() needs to be 'exported' in order to be read externally with Windows DLLs. So, if the only route to have m_pd.h define the EXTERN macro as expected, what will be a clean way to add __declspec(dllexport) to the function definition and yet let the code remain compatible with other platforms? Simply introduce new macros in lua.c?
Also, from your description I thought that PD_INTERNAL was reserved for internal functions or classes, etc. However, when grepping the source of vanilla Pd, I did not find the macro being used anywhere else other than this part of m_pd.h. What is this reserved for?
-- David Shimamoto