I advise getting the latest CVS version of Panda3D. I think that it has many of these problems resolved (including the previous one, I’ve just checked in a fix to that).
As for what “Inconsistent DLL linkage” means - I don’t know the exact details, but it’s got something to do with __declspec(dllexport) and __declspec(dllimport) being used incorrectly. When compiling the headers, the classes are exported using dllexport, but when including the headers, dllimport is used.
We have this in panda/src/pandabase/pandasymbols.h:
#ifdef BUILDING_PANDAGLES2
#define EXPCL_PANDAGLES2 __declspec(dllexport)
#define EXPTP_PANDAGLES2
#else
#define EXPCL_PANDAGLES2 __declspec(dllimport)
#define EXPTP_PANDAGLES2 extern
#endif
So when BUILDING_PANDAGLES2 is not correctly defined when building this code, it gets compiled using the wrong keyword.
In the case of non-Windows, these symbols are not necessary and defined to nothing, that’s why I’ve never spotted the mistake before.