From 160eddddc4e265d5ee59a38797c30720bf46cd7c Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Sun, 27 May 2018 13:53:42 +0000
Subject: [PATCH] Minor fix

---
 src/cuda.h |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/cuda.h b/src/cuda.h
index c328fce..e167d36 100644
--- a/src/cuda.h
+++ b/src/cuda.h
@@ -5,6 +5,20 @@
 	#define inline __inline
 #endif
 
+#ifdef YOLODLL_EXPORTS
+#if defined(_MSC_VER)
+#define YOLODLL_API __declspec(dllexport) 
+#else
+#define YOLODLL_API __attribute__((visibility("default")))
+#endif
+#else
+#if defined(_MSC_VER)
+#define YOLODLL_API
+#else
+#define YOLODLL_API
+#endif
+#endif
+
 extern int gpu_index;
 
 #ifdef GPU
@@ -17,18 +31,18 @@
 
 #ifdef CUDNN
 #include "cudnn.h"
-#endif
+#endif // CUDNN
 
 #ifdef __cplusplus
 extern "C" {
-#endif
+#endif // __cplusplus
 	void check_error(cudaError_t status);
 	cublasHandle_t blas_handle();
 	float *cuda_make_array(float *x, size_t n);
 	int *cuda_make_int_array(size_t n);
 	void cuda_push_array(float *x_gpu, float *x, size_t n);
 	void cuda_pull_array(float *x_gpu, float *x, size_t n);
-	void cuda_set_device(int n);
+	YOLODLL_API void cuda_set_device(int n);
 	int cuda_get_device();
 	void cuda_free(float *x_gpu);
 	void cuda_random(float *x_gpu, size_t n);
@@ -37,12 +51,14 @@
 	cudaStream_t get_cuda_stream();
 #ifdef __cplusplus
 }
-#endif
+#endif // __cplusplus
 
 #ifdef CUDNN
 cudnnHandle_t cudnn_handle();
 enum {cudnn_fastest, cudnn_smallest};
 #endif
 
-#endif
-#endif
+#else // GPU
+YOLODLL_API void cuda_set_device(int n);
+#endif // GPU
+#endif // CUDA_H

--
Gitblit v1.10.0