From 3ceafa176f394676971e131db280f1c587661352 Mon Sep 17 00:00:00 2001 From: Simon Detheridge Date: Wed, 14 Jan 2015 09:39:42 +0000 Subject: [PATCH] Fix compiler error by explicitly instantiating static objects Gave error about implicit instantiation having happened first --- Source/Ember/Ember.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/Ember/Ember.cpp b/Source/Ember/Ember.cpp index 389d656..9748997 100644 --- a/Source/Ember/Ember.cpp +++ b/Source/Ember/Ember.cpp @@ -45,6 +45,12 @@ template<> unique_ptr> QTIsaac; #define EXPORT_SINGLE_TYPE_EMBER(T) \ + template<> bool PaletteList::m_Init = false; \ + template<> vector> PaletteList::m_Palettes = vector>(); \ + template<> bool XmlToEmber::m_Init = false; \ + template<> vector XmlToEmber::m_FlattenNames = vector(); \ + template<> vector> XmlToEmber::m_BadParamNames = vector>(); \ + template<> vector, vector>> XmlToEmber::m_BadVariationNames = vector, vector>>(); \ template EMBER_API class Point; \ template EMBER_API struct Color; \ template EMBER_API class Palette; \ @@ -385,13 +391,7 @@ template<> unique_ptr> QTIsaac;*/ \ template EMBER_API class CarToRas; \ template EMBER_API class XmlToEmber; \ - template EMBER_API class EmberToXml; \ - template<> bool PaletteList::m_Init = false; \ - template<> vector> PaletteList::m_Palettes = vector>(); \ - template<> bool XmlToEmber::m_Init = false; \ - template<> vector XmlToEmber::m_FlattenNames = vector(); \ - template<> vector> XmlToEmber::m_BadParamNames = vector>(); \ - template<> vector, vector>> XmlToEmber::m_BadVariationNames = vector, vector>>(); + template EMBER_API class EmberToXml; EXPORT_SINGLE_TYPE_EMBER(float)