/* ---------------------------------------------------------------------------- * @library_name@ Copyright 2010, Georgia Tech Research Corporation, * Atlanta, Georgia 30332-0415 * All Rights Reserved * Authors: Frank Dellaert, et al. (see THANKS for the full author list) * See LICENSE for the license information * -------------------------------------------------------------------------- */ /** * @file dllexport.h * @brief Symbols for exporting classes and methods from DLLs * @author Richard Roberts * @date Mar 9, 2013 */ // Macros for exporting DLL symbols on Windows // Usage example: // In header file: // class GTSAM_EXPORT MyClass { ... }; // // Results in the following declarations: // When included while compiling the GTSAM library itself: // class __declspec(dllexport) MyClass { ... }; // When included while compiling other code against GTSAM: // class __declspec(dllimport) MyClass { ... }; // mnaranjo: we don't want dllexport on msys2 //#ifdef _WIN32 //# ifdef @library_name@_EXPORTS //# define @library_name@_EXPORT __declspec(dllexport) //# define @library_name@_EXTERN_EXPORT __declspec(dllexport) extern //# else //# ifndef @library_name@_IMPORT_STATIC //# define @library_name@_EXPORT __declspec(dllimport) //# define @library_name@_EXTERN_EXPORT __declspec(dllimport) //# else /* @library_name@_IMPORT_STATIC */ //# define @library_name@_EXPORT //# define @library_name@_EXTERN_EXPORT extern //# endif /* @library_name@_IMPORT_STATIC */ //# endif /* @library_name@_EXPORTS */ //#else /* _WIN32 */ # define @library_name@_EXPORT # define @library_name@_EXTERN_EXPORT extern //#endif