On Thu, August 27, 2009 15:58, Victor Lazzarini
wrote:
Hi everyone,
perhaps one of you might have already seen this issue and will know what
is the best solution.
My problem is that one of the headers in the VST SDK2.4, aeffect.h,
has a macro, VSTCALLBACK, which in gcc will be defined as __cdecl . This is
not recognised by the compiler, thus preventing me from using that header
(to build a plugin).
My solution was to forcibly undefine __GNUC__ so that the macro
gets a blank definition.
However, I am not sure this is the best way out; I am wondering whether
the calling convention will break the plugin, since the host might be
expecting __cdecl and it will not be getting it.
Perhaps someone else would have a different solution.
on my qtractor stuff, i do something like this,
#if !defined(__WIN32__) && !defined(_WIN32) && !defined(WIN32)
#define __cdecl
#endif
#include <aeffectx.h>
#if !defined(VST_2_3_EXTENSIONS)
#define VSTCALLBACK
#endif
it seems to get it just fine :)
I recently built the pizmidi plugins as native Linux VSTs. The developer
simply describes how to remove __cdecl from the definition, like Rui's
solution but without the added #ifdef. Works for the pizmidi plugs.
Best,
dp