47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
|  | /* ----------------------------------------------------------------------------
 | ||
|  | 
 | ||
|  |  * @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 { ... };
 | ||
|  | #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
 | ||
|  | 
 |