Meanwhile a question that emerged over another topic, since I wasn't able to compile a C plugin with Visual C++ which was recognized as a C plugin in both Avisynth+ and classic Avisynth 2.6
The code inside the different Avisynth versions is trying to identify a DLL as a C plugin by searching the following entries:
AVS+ x64:
avisynth_c_plugin_init
_avisynth_c_plugin_init@4
AVS+ Win32
_avisynth_c_plugin_init@4
avisynth_c_plugin_init@4
AVS 2.6 Win32
avisynth_c_plugin_init@4
avisynth_c_plugin_init
Visual C++ supports:
_avisynth_c_plugin_init@4
avisynth_c_plugin_init (through .def file)
The common solution would be using avisynth_c_plugin_init@4 that works for both Avs+ and Avs 2.6.
Unfortunately this kind of semi-decorated name is not supported in VC++ (at least I was not able to do it)
The other choice: the non-decorated avisynth_c_plugin_init is not recognized by Avisynth+.
Question (if somebody remembers):
- why are C plugins identified differently in Avisynth+
- does it have any drawback if I put back the support for the nondecorated name?
|