windows: expose public APIs with dllimport for user apps
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dfde981..2cb7117 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -150,6 +150,7 @@
include_directories("${PROJECT_SOURCE_DIR}/include")
if (BUILD_STATIC)
+ add_definitions(-DCAPSTONE_STATIC)
add_library(capstone STATIC ${SOURCES})
else ()
add_definitions(-DCAPSTONE_SHARED)
diff --git a/include/capstone.h b/include/capstone.h
index bd3694a..ff4840a 100644
--- a/include/capstone.h
+++ b/include/capstone.h
@@ -20,8 +20,10 @@
#pragma warning(disable:4100)
#ifdef CAPSTONE_SHARED // compiling DLL file
#define CAPSTONE_EXPORT __declspec(dllexport)
-#else
+#elif defined(CAPSTONE_STATIC)
#define CAPSTONE_EXPORT
+#else // code uses our DLL
+#define CAPSTONE_EXPORT __declspec(dllimport)
#endif
#else // not MSVC
#define CAPSTONE_EXPORT