diff --git a/modules/ts/include/opencv2/ts.hpp b/modules/ts/include/opencv2/ts.hpp index 84fb7b0eb..f4ff82777 100644 --- a/modules/ts/include/opencv2/ts.hpp +++ b/modules/ts/include/opencv2/ts.hpp @@ -4,6 +4,14 @@ #include "opencv2/core/cvdef.h" #include <stdarg.h> // for va_list +#include "cvconfig.h" + +#ifndef GTEST_CREATE_SHARED_LIBRARY +#ifdef BUILD_SHARED_LIBS +#define GTEST_LINKED_AS_SHARED_LIBRARY 1 +#endif +#endif + #ifdef _MSC_VER #pragma warning( disable: 4127 ) #endif diff --git a/modules/ts/include/opencv2/ts/ts_gtest.h b/modules/ts/include/opencv2/ts/ts_gtest.h index 4bce30848..3ccf48584 100644 --- a/modules/ts/include/opencv2/ts/ts_gtest.h +++ b/modules/ts/include/opencv2/ts/ts_gtest.h @@ -1912,7 +1912,19 @@ using ::std::tuple_size; #endif // GTEST_HAS_SEH -#define GTEST_API_ CV_EXPORTS +#ifdef _MSC_VER + +# if GTEST_LINKED_AS_SHARED_LIBRARY +# define GTEST_API_ __declspec(dllimport) +# elif GTEST_CREATE_SHARED_LIBRARY +# define GTEST_API_ __declspec(dllexport) +# endif + +#endif // _MSC_VER + +#ifndef GTEST_API_ +# define GTEST_API_ CV_EXPORTS +#endif #ifdef __GNUC__ // Ask the compiler to never inline a given function. diff --git a/modules/ts/include/opencv2/ts/ts_perf.hpp b/modules/ts/include/opencv2/ts/ts_perf.hpp index cf549ee48..2faba1263 100644 --- a/modules/ts/include/opencv2/ts/ts_perf.hpp +++ b/modules/ts/include/opencv2/ts/ts_perf.hpp @@ -1,6 +1,14 @@ #ifndef __OPENCV_TS_PERF_HPP__ #define __OPENCV_TS_PERF_HPP__ +#include "cvconfig.h" + +#ifndef GTEST_CREATE_SHARED_LIBRARY +# ifdef BUILD_SHARED_LIBS +# define GTEST_LINKED_AS_SHARED_LIBRARY 1 +# endif +#endif + #include "opencv2/core.hpp" #include "ts_gtest.h"