Main MRPT website > C++ reference
MRPT logo
hmtslam_impexp.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | The Mobile Robot Programming Toolkit (MRPT) C++ library |
3  | |
4  | http://www.mrpt.org/ |
5  | |
6  | Copyright (C) 2005-2012 University of Malaga |
7  | |
8  | This software was written by the Machine Perception and Intelligent |
9  | Robotics Lab, University of Malaga (Spain). |
10  | Contact: Jose-Luis Blanco <jlblanco@ctima.uma.es> |
11  | |
12  | This file is part of the MRPT project. |
13  | |
14  | MRPT is free software: you can redistribute it and/or modify |
15  | it under the terms of the GNU General Public License as published by |
16  | the Free Software Foundation, either version 3 of the License, or |
17  | (at your option) any later version. |
18  | |
19  | MRPT is distributed in the hope that it will be useful, |
20  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
21  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
22  | GNU General Public License for more details. |
23  | |
24  | You should have received a copy of the GNU General Public License |
25  | along with MRPT. If not, see <http://www.gnu.org/licenses/>. |
26  | |
27  +---------------------------------------------------------------------------+ */
28 
29 /* This file should be included from utils_defs.h only!
30 */
31 #ifndef _IAMINUTILSDEFS_H
32 #error Do not include this file manually
33 #endif
34 
35 /* This file defines macros for DLL import/export, required for
36  Windows only.
37 
38  Mostly all the definitions in this file are copied or at least based
39  on the file wx/dlimpexp.h, written by Vadim Zeitlin and published
40  under the wxWindows licence.
41 */
42 
43 #ifndef _HMTIMPEXP_H
44 #define _HMTIMPEXP_H
45 
46 #if defined(MRPT_OS_WINDOWS)
47  /*
48  __declspec works in BC++ 5 and later, Watcom C++ 11.0 and later as well
49  as VC++ and gcc
50  */
51 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__GNUC__) || defined(__WATCOMC__)
52 # define HMTEXPORT __declspec(dllexport)
53 # define HMTIMPORT __declspec(dllimport)
54 # else /* compiler doesn't support __declspec() */
55 # define HMTEXPORT
56 # define HMTIMPORT
57 # endif
58 #elif defined(MRPT_OS_OS2) /* was __WXPM__ */
59 # if defined (__WATCOMC__)
60 # define HMTEXPORT __declspec(dllexport)
61  /*
62  __declspec(dllimport) prepends __imp to imported symbols. We do NOT
63  want that!
64  */
65 # define HMTIMPORT
66 # elif defined(__EMX__)
67 # define HMTEXPORT
68 # define HMTIMPORT
69 # elif (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )))
70 # define HMTEXPORT _Export
71 # define HMTIMPORT _Export
72 # endif
73 #elif defined(MRPT_OS_APPLE)
74 # ifdef __MWERKS__
75 # define HMTEXPORT __declspec(export)
76 # define HMTIMPORT __declspec(import)
77 # endif
78 #elif defined(__CYGWIN__)
79 # define HMTEXPORT __declspec(dllexport)
80 # define HMTIMPORT __declspec(dllimport)
81 #endif
82 
83 /* for other platforms/compilers we don't anything */
84 #ifndef HMTEXPORT
85 # define HMTEXPORT
86 # define HMTIMPORT
87 #endif
88 
89 /*
90  HMTSLAM_IMPEXP maps to export declaration when building the DLL, to import
91  declaration if using it or to nothing at all if we are not compiling as DLL
92  */
93 #if defined(MRPT_BUILT_AS_DLL)
94 # if defined(mrpt_hmtslam_EXPORTS) /* Building the DLL */
95 # define HMTSLAM_IMPEXP HMTEXPORT
96 # else /* Using the DLL */
97 # define HMTSLAM_IMPEXP HMTIMPORT
98 # endif
99 #else /* not making nor using DLL */
100 # define HMTSLAM_IMPEXP
101 #endif
102 
103 #endif /* end of _UTILSIMPEXP_H */



Page generated by Doxygen 1.8.3 for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013