Add ARMNN_DLLEXPORT macro to import/export static data symbols on Windows

Armnn has several static data symbols that are needed by the unit tests.
These are now explicitly marked for import when that header is included 
from the unit test code.

See also https://cmake.org/cmake/help/v3.4/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html.

Change-Id: I4e71ba659b6321659a1396125b5a9c271578040f
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
diff --git a/src/profiling/LabelsAndEventClasses.hpp b/src/profiling/LabelsAndEventClasses.hpp
index 69cee9a..fa12549 100644
--- a/src/profiling/LabelsAndEventClasses.hpp
+++ b/src/profiling/LabelsAndEventClasses.hpp
@@ -8,6 +8,7 @@
 #include "ProfilingGuidGenerator.hpp"
 
 #include <armnn/Types.hpp>
+#include <DllExport.hpp>
 
 namespace armnn
 {
@@ -19,32 +20,32 @@
 {
 public:
     // Labels (string value + GUID)
-    static std::string NAME_LABEL;
-    static std::string TYPE_LABEL;
-    static std::string INDEX_LABEL;
-    static std::string BACKENDID_LABEL;
-    static ProfilingStaticGuid NAME_GUID;
-    static ProfilingStaticGuid TYPE_GUID;
-    static ProfilingStaticGuid INDEX_GUID;
-    static ProfilingStaticGuid BACKENDID_GUID;
+    ARMNN_DLLEXPORT static std::string NAME_LABEL;
+    ARMNN_DLLEXPORT static std::string TYPE_LABEL;
+    ARMNN_DLLEXPORT static std::string INDEX_LABEL;
+    ARMNN_DLLEXPORT static std::string BACKENDID_LABEL;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid NAME_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid TYPE_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid INDEX_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid BACKENDID_GUID;
 
     // Common types
-    static std::string LAYER;
-    static std::string WORKLOAD;
-    static std::string NETWORK;
-    static std::string CONNECTION;
-    static std::string INFERENCE;
-    static std::string WORKLOAD_EXECUTION;
-    static ProfilingStaticGuid LAYER_GUID;
-    static ProfilingStaticGuid WORKLOAD_GUID;
-    static ProfilingStaticGuid NETWORK_GUID;
-    static ProfilingStaticGuid CONNECTION_GUID;
-    static ProfilingStaticGuid INFERENCE_GUID;
-    static ProfilingStaticGuid WORKLOAD_EXECUTION_GUID;
+    ARMNN_DLLEXPORT static std::string LAYER;
+    ARMNN_DLLEXPORT static std::string WORKLOAD;
+    ARMNN_DLLEXPORT static std::string NETWORK;
+    ARMNN_DLLEXPORT static std::string CONNECTION;
+    ARMNN_DLLEXPORT static std::string INFERENCE;
+    ARMNN_DLLEXPORT static std::string WORKLOAD_EXECUTION;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid LAYER_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid NETWORK_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid CONNECTION_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid INFERENCE_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_EXECUTION_GUID;
 
     // Event Class GUIDs
-    static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS;
-    static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS;
 
 private:
     static ProfilingGuidGenerator m_GuidGenerator;