Go to the documentation of this file. 24 #ifndef PXR_BASE_ARCH_EXPORT_H 25 #define PXR_BASE_ARCH_EXPORT_H 157 #include "pxr/base/arch/defines.h" 159 #if defined(ARCH_OS_WINDOWS) 160 # if defined(ARCH_COMPILER_GCC) && ARCH_COMPILER_GCC_MAJOR >= 4 || defined(ARCH_COMPILER_CLANG) 161 # define ARCH_EXPORT __attribute__((dllexport)) 162 # define ARCH_IMPORT __attribute__((dllimport)) 164 # define ARCH_EXPORT_TYPE 166 # define ARCH_EXPORT __declspec(dllexport) 167 # define ARCH_IMPORT __declspec(dllimport) 169 # define ARCH_EXPORT_TYPE 171 #elif defined(ARCH_COMPILER_GCC) && ARCH_COMPILER_GCC_MAJOR >= 4 || defined(ARCH_COMPILER_CLANG) 172 # define ARCH_EXPORT __attribute__((visibility("default"))) 174 # define ARCH_HIDDEN __attribute__((visibility("hidden"))) 175 # if defined(ARCH_COMPILER_CLANG) 176 # define ARCH_EXPORT_TYPE __attribute__((type_visibility("default"))) 178 # define ARCH_EXPORT_TYPE __attribute__((visibility("default"))) 184 # define ARCH_EXPORT_TYPE 186 #define ARCH_EXPORT_TEMPLATE(type, ...) 187 #define ARCH_IMPORT_TEMPLATE(type, ...) extern template type ARCH_IMPORT __VA_ARGS__ 189 #endif // PXR_BASE_ARCH_EXPORT_H