rt-vamp-plugin-sdk  0.3.1
Real-time Vamp plugin SDK for C++20
Classes | Namespaces | Macros
EntryPoint.hpp File Reference
#include "vamp/vamp.h"
#include "rtvamp/pluginsdk/Plugin.hpp"
#include "rtvamp/pluginsdk/detail/PluginAdapter.hpp"
Include dependency graph for EntryPoint.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  rtvamp::pluginsdk::EntryPoint< Plugins >
 Helper class to create the entry point for plugin libraries. More...
 

Namespaces

 rtvamp
 
 rtvamp::pluginsdk
 

Macros

#define RTVAMP_EXPORT_FUNCTION
 Export entry point symbol with pragma for MSVC. More...
 
#define RTVAMP_ENTRY_POINT(...)
 Generate entry point for given PluginDefintion types and export symbol with pragma. More...
 

Macro Definition Documentation

◆ RTVAMP_ENTRY_POINT

#define RTVAMP_ENTRY_POINT (   ...)
Value:
extern "C" const VampPluginDescriptor* vampGetPluginDescriptor( \
unsigned int hostApiVersion, \
unsigned int index \
) { \
RTVAMP_EXPORT_FUNCTION \
return ::rtvamp::pluginsdk::EntryPoint<__VA_ARGS__>::getDescriptor(hostApiVersion, index); \
}

Generate entry point for given PluginDefintion types and export symbol with pragma.

◆ RTVAMP_EXPORT_FUNCTION

#define RTVAMP_EXPORT_FUNCTION

Export entry point symbol with pragma for MSVC.

Reference: https://docs.microsoft.com/de-de/cpp/build/reference/export-exports-a-function

Link error with Win32 builds: error LNK2001: unresolved external symbol vampGetPluginDescriptor Mangling problem? Fix with pragma inside function body using MSVC variables: https://stackoverflow.com/a/2805560/9967707

VampPluginDescriptor
_VampPluginDescriptor VampPluginDescriptor
Definition: PluginHostAdapter.hpp:13