00001 /* +---------------------------------------------------------------------------+ 00002 | The Mobile Robot Programming Toolkit (MRPT) C++ library | 00003 | | 00004 | http://mrpt.sourceforge.net/ | 00005 | | 00006 | Copyright (C) 2005-2011 University of Malaga | 00007 | | 00008 | This software was written by the Machine Perception and Intelligent | 00009 | Robotics Lab, University of Malaga (Spain). | 00010 | Contact: Jose-Luis Blanco <jlblanco@ctima.uma.es> | 00011 | | 00012 | This file is part of the MRPT project. | 00013 | | 00014 | MRPT is free software: you can redistribute it and/or modify | 00015 | it under the terms of the GNU General Public License as published by | 00016 | the Free Software Foundation, either version 3 of the License, or | 00017 | (at your option) any later version. | 00018 | | 00019 | MRPT is distributed in the hope that it will be useful, | 00020 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 00021 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 00022 | GNU General Public License for more details. | 00023 | | 00024 | You should have received a copy of the GNU General Public License | 00025 | along with MRPT. If not, see <http://www.gnu.org/licenses/>. | 00026 | | 00027 +---------------------------------------------------------------------------+ */ 00028 00029 /* This file should be included from utils_defs.h only! 00030 */ 00031 #ifndef _IAMINUTILSDEFS_H 00032 #error Do not include this file manually 00033 #endif 00034 00035 /* This file defines macros for DLL import/export, required for 00036 Windows only. 00037 00038 Mostly all the definitions in this file are copied or at least based 00039 on the file wx/dlimpexp.h, written by Vadim Zeitlin and published 00040 under the wxWindows licence. 00041 */ 00042 00043 #ifndef _HMTIMPEXP_H 00044 #define _HMTIMPEXP_H 00045 00046 #if defined(MRPT_OS_WINDOWS) 00047 /* 00048 __declspec works in BC++ 5 and later, Watcom C++ 11.0 and later as well 00049 as VC++ and gcc 00050 */ 00051 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__GNUC__) || defined(__WATCOMC__) 00052 # define HMTEXPORT __declspec(dllexport) 00053 # define HMTIMPORT __declspec(dllimport) 00054 # else /* compiler doesn't support __declspec() */ 00055 # define HMTEXPORT 00056 # define HMTIMPORT 00057 # endif 00058 #elif defined(MRPT_OS_OS2) /* was __WXPM__ */ 00059 # if defined (__WATCOMC__) 00060 # define HMTEXPORT __declspec(dllexport) 00061 /* 00062 __declspec(dllimport) prepends __imp to imported symbols. We do NOT 00063 want that! 00064 */ 00065 # define HMTIMPORT 00066 # elif defined(__EMX__) 00067 # define HMTEXPORT 00068 # define HMTIMPORT 00069 # elif (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 ))) 00070 # define HMTEXPORT _Export 00071 # define HMTIMPORT _Export 00072 # endif 00073 #elif defined(MRPT_OS_APPLE) 00074 # ifdef __MWERKS__ 00075 # define HMTEXPORT __declspec(export) 00076 # define HMTIMPORT __declspec(import) 00077 # endif 00078 #elif defined(__CYGWIN__) 00079 # define HMTEXPORT __declspec(dllexport) 00080 # define HMTIMPORT __declspec(dllimport) 00081 #endif 00082 00083 /* for other platforms/compilers we don't anything */ 00084 #ifndef HMTEXPORT 00085 # define HMTEXPORT 00086 # define HMTIMPORT 00087 #endif 00088 00089 /* 00090 HMTSLAM_IMPEXP maps to export declaration when building the DLL, to import 00091 declaration if using it or to nothing at all if we are not compiling as DLL 00092 */ 00093 #if defined(MRPT_BUILT_AS_DLL) 00094 # if defined(mrpt_hmtslam_EXPORTS) /* Building the DLL */ 00095 # define HMTSLAM_IMPEXP HMTEXPORT 00096 # else /* Using the DLL */ 00097 # define HMTSLAM_IMPEXP HMTIMPORT 00098 # endif 00099 #else /* not making nor using DLL */ 00100 # define HMTSLAM_IMPEXP 00101 #endif 00102 00103 #endif /* end of _UTILSIMPEXP_H */
Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011 |