diff --git a/include/mapnik/agg_renderer.hpp b/include/mapnik/agg_renderer.hpp index 38eb5290a..33325428a 100644 --- a/include/mapnik/agg_renderer.hpp +++ b/include/mapnik/agg_renderer.hpp @@ -39,7 +39,7 @@ namespace mapnik { - class rasterizer; + struct rasterizer; template class MAPNIK_DECL agg_renderer : public feature_style_processor >, diff --git a/include/mapnik/octree.hpp b/include/mapnik/octree.hpp index 221baedb1..cb5dd6075 100644 --- a/include/mapnik/octree.hpp +++ b/include/mapnik/octree.hpp @@ -24,6 +24,7 @@ #ifndef _OCTREE_HPP_ #define _OCTREE_HPP_ +#include #include #include #include diff --git a/include/mapnik/unicode.hpp b/include/mapnik/unicode.hpp index 70f2b6a4b..c0d6fba48 100644 --- a/include/mapnik/unicode.hpp +++ b/include/mapnik/unicode.hpp @@ -28,10 +28,12 @@ extern "C" { #include } +#include #include +#include namespace mapnik { - class transcoder : private boost::noncopyable + class MAPNIK_DECL transcoder : private boost::noncopyable { public: explicit transcoder (std::string const& encoding); diff --git a/src/unicode.cpp b/src/unicode.cpp index 592203d62..566fba9e2 100644 --- a/src/unicode.cpp +++ b/src/unicode.cpp @@ -165,11 +165,15 @@ namespace mapnik { #ifdef MAPNIK_DEBUG std::cerr << "ENCODING = " << encoding << "\n"; #endif - + +#ifdef _WIN32 + desc_ = iconv_open("UTF-16LE",encoding.c_str()); +#else #ifndef WORDS_BIGENDIAN desc_ = iconv_open("UCS-4LE",encoding.c_str()); #else desc_ = iconv_open("UCS-4BE",encoding.c_str()); +#endif #endif } @@ -179,7 +183,7 @@ namespace mapnik { size_t inleft = input.size(); std::wstring output(inleft,0); size_t outleft = inleft * sizeof(wchar_t); -#if (!defined(OSX_LEOPARD) && defined(DARWIN)) || defined(SUNOS) || defined(FREEBSD) +#if (!defined(OSX_LEOPARD) && defined(DARWIN)) || defined(SUNOS) || defined(FREEBSD) || defined(_WIN32) const char * in = input.c_str(); #else char * in = const_cast(input.data());