SDK 2, Duplicate Symbols

Hi,

I am a litle bit confuse about this define:

#ifdef  __cplusplus
#define VST_INLINE inline
#else
#define VST_INLINE
#endif

//-------------------------------------------------------------------------------------------------------
/** String copy taking care of null terminator. */
//-------------------------------------------------------------------------------------------------------
VST_INLINE char* vst_strncpy (char* dst, const char* src, size_t maxLen)
{
    char* result = strncpy (dst, src, maxLen);
    dst[maxLen] = 0;
    return result;
}

//-------------------------------------------------------------------------------------------------------
/** String concatenation taking care of null terminator. */
//-------------------------------------------------------------------------------------------------------
VST_INLINE char* vst_strncat (char* dst, const char* src, size_t maxLen)
{
    char* result = strncat (dst, src, maxLen);
    dst[maxLen] = 0;
    return result;
}

If __cplusplus is not define we could have duplicate symbols if this header is include several times.
So I see only 2 solutions: modify the define and make VST_INLINE static (but I prefere not to modify the SDK) or compile only one .o file.

Any other idea ?

thanks

try at the top of this include file:
#pragma once