We have a plugin that has lots of third party dependencies like Qt and others.
In the past (R19 and older versions) we had a loader plugin that loads all this third party dependencies and makes a hook by defining c4d_main(LONG action, void* p1, void* p2, void* p3) and calling c4d_main(LONG action, void* p1, void* p2, void* p3) in other dll we it did by using GetProcAddress(hModule, "c4d_main");
It worked like a charm until r20. With the introduction of the new project scheme and the autogenerated code, it seems like any calls done to the core or cinema frameworks inside the DLL we manually load just crash due to missing initialization on some of the internal maxon components.
We've made sereval tries like skipping that GetProcAddress call and putting the .dll as other plugin in C4D but it seems that or first plugin (the one that loads the dependencies) is not making its work (we tried to load the dependencies on PluginStart and in PluginMessage) so it is not loaded (and no error message is triggered neither)
We believe this might be because C4D is calling more routines than c4d_main since R20 on the plugins, so our method is no longer compatible unless we replicate C4D's behavior.
Any thought on this?