Log in

View Full Version : Avisynth.H files for MinGW builds?


Pages : 1 2 [3]

handaimaoh
23rd November 2013, 15:52
That sounds inconsistent to me. Why couldn't Jeroi also make a C++ wrapper around the C interface? It's possible if you do it but not Jeroi? I don't get it.

He could, but as I quoted above he's trying to punt that work off onto someone else. Likely because he is way over his head and has no clue how to do so.

Jeroi
23rd November 2013, 19:31
He could, but as I quoted above he's trying to punt that work off onto someone else. Likely because he is way over his head and has no clue how to do so.

Rolf, that line get people normally banned, ofcourse I can write wrapper. But I was not even talking about it, you people seem always to refer C header. I am always talking about the C++ header and the need of it to be rewrite as you guys all know, if I modify the header to include cdecl calls the plugin is dll but Avisynth expects stdcalls which breaks it work. I can even make windows dll with QT that would associate right output calls in windows but to me it would be too just one project file as who would like to add bunch of qt stuff to their c++ plugin which makes the filesize quite big and feels dum. Much better way would be modify orginal project header to support many compilers. But this header was written in 02´ and people here seems from that era altho I am over 30 years old but I feel that programs should support also cross compiling in ideal world and M$ does not represent ideal.

Somehow I feel the same level with Ultim that this project should need new blood to take it further. It feels like stone aged.

jackoneill
23rd November 2013, 22:40
If I'm not mistaken, the stdcall decorations only matter for the functions you export, namely AvisynthPluginInit2/3. stdcall functions can be decorated ("_function@bytes") or not ("function"), and Avisynth tries both versions (https://github.com/jeeb/avisynth/blob/master/src/core/plugins.cpp#L114). Now, gcc decorates stdcall functions only halfway ("function@bytes"), and I don't know if you can make it prepend the underscore, but you can make it produce the not-decorated version instead, using "-Wl,--kill-at".

handaimaoh
24th November 2013, 00:45
I am always talking about the C++ header and the need of it to be rewrite as you guys all know,

It does not need to be rewritten. To do your wrapper you simply need to do ifdefs around compiler and platform specific pieces. This prevents having to break anything for currently existing plugins and requires zero rewriting of anything on the Avisynth side either.

Much better way would be modify orginal project header to support many compilers.

Of which the way to do so is through #ifdef so you can maintain ABI compatibility with Avisynth and Avisynth+.

Guest
24th November 2013, 01:10
Guys, it's getting too personal. I will start issuing strikes for posts that attack a person rather than being factual and technical. Doom9 is about civil technical interaction. If you can't keep it that way then please do not post. Thank you for your understanding.