Go to the documentation of this file.
17 #ifndef LIDAR_UTILS__VISIBILITY_CONTROL_HPP_
18 #define LIDAR_UTILS__VISIBILITY_CONTROL_HPP_
20 #if defined(_MSC_VER) && defined(_WIN64)
21 #if defined(LIDAR_UTILS_BUILDING_DLL) || defined(LIDAR_UTILS_EXPORTS)
22 #define LIDAR_UTILS_PUBLIC __declspec(dllexport)
23 #define LIDAR_UTILS_LOCAL
24 #else // defined(LIDAR_UTILS_BUILDING_DLL) || defined(LIDAR_UTILS_EXPORTS)
25 #define LIDAR_UTILS_PUBLIC __declspec(dllimport)
26 #define LIDAR_UTILS_LOCAL
27 #endif // defined(LIDAR_UTILS_BUILDING_DLL) || defined(LIDAR_UTILS_EXPORTS)
28 #elif defined(__GNUC__) && defined(__linux__)
29 #define LIDAR_UTILS_PUBLIC __attribute__((visibility("default")))
30 #define LIDAR_UTILS_LOCAL __attribute__((visibility("hidden")))
31 #elif defined(__GNUC__) && defined(__APPLE__)
32 #define LIDAR_UTILS_PUBLIC __attribute__((visibility("default")))
33 #define LIDAR_UTILS_LOCAL __attribute__((visibility("hidden")))
34 #else // !(defined(__GNUC__) && defined(__APPLE__))
35 #error "Unsupported Build Configuration"
38 #endif // LIDAR_UTILS__VISIBILITY_CONTROL_HPP_