Index: code/branches/kicklib/src/libraries/core/CorePrereqs.h
===================================================================
--- code/branches/kicklib/src/libraries/core/CorePrereqs.h	(revision 8058)
+++ code/branches/kicklib/src/libraries/core/CorePrereqs.h	(revision 8066)
@@ -258,5 +258,5 @@
 namespace boost
 {
-#if (BOOST_VERSION < 104400)
+#if BOOST_VERSION < 104400
     namespace filesystem
     {
@@ -265,5 +265,5 @@
         typedef basic_path<std::string, path_traits> path;
     }
-#else
+#elif BOOST_VERSION < 104600
     namespace filesystem2
     {
@@ -277,4 +277,13 @@
         using filesystem2::path_traits;
         using filesystem2::path;
+    }
+#else
+    namespace filesystem3
+    {
+        class path;
+    }
+    namespace filesystem
+    {
+        using filesystem3::path;
     }
 #endif
Index: code/branches/kicklib/src/libraries/core/GraphicsManager.cc
===================================================================
--- code/branches/kicklib/src/libraries/core/GraphicsManager.cc	(revision 8058)
+++ code/branches/kicklib/src/libraries/core/GraphicsManager.cc	(revision 8066)
@@ -243,5 +243,9 @@
         // Use backslash paths on Windows! file_string() already does that though.
         for (unsigned int i = 0; i < plugins.size(); ++i)
+#if BOOST_FILESYSTEM_VERSION < 3
             ogreRoot_->loadPlugin((folder / plugins[i]).file_string());
+#else
+            ogreRoot_->loadPlugin((folder / plugins[i]).string());
+#endif
     }
 
Index: code/branches/kicklib/src/libraries/core/PathConfig.cc
===================================================================
--- code/branches/kicklib/src/libraries/core/PathConfig.cc	(revision 8058)
+++ code/branches/kicklib/src/libraries/core/PathConfig.cc	(revision 8066)
@@ -59,6 +59,8 @@
 #if (BOOST_VERSION == 103600)
 #  define BOOST_LEAF_FUNCTION filename
+#elif (BOOST_FILESYSTEM_VERSION < 3)
+#  define BOOST_LEAF_FUNCTION leaf
 #else
-#  define BOOST_LEAF_FUNCTION leaf
+#  define BOOST_LEAF_FUNCTION path().filename().string
 #endif
 
@@ -282,5 +284,9 @@
                     // We've found a helper file
                     const std::string& library = filename.substr(0, filename.size() - moduleextensionlength);
+#if BOOST_FILESYSTEM_VERSION < 3
                     modulePaths.push_back((modulePath_ / library).file_string());
+#else
+                    modulePaths.push_back((modulePath_ / library).string());
+#endif
                 }
             }
Index: code/branches/kicklib/src/libraries/core/command/ArgumentCompletionFunctions.cc
===================================================================
--- code/branches/kicklib/src/libraries/core/command/ArgumentCompletionFunctions.cc	(revision 8058)
+++ code/branches/kicklib/src/libraries/core/command/ArgumentCompletionFunctions.cc	(revision 8066)
@@ -50,6 +50,11 @@
 #if (BOOST_VERSION == 103600)
 #  define BOOST_LEAF_FUNCTION filename
+#  define BOOST_DICTIONARY_ENTRY_NAME string
+#elif (BOOST_FILESYSTEM_VERSION < 3)
+#  define BOOST_LEAF_FUNCTION leaf
+#  define BOOST_DICTIONARY_ENTRY_NAME string
 #else
-#  define BOOST_LEAF_FUNCTION leaf
+#  define BOOST_LEAF_FUNCTION path().filename().string
+#  define BOOST_DICTIONARY_ENTRY_NAME path().string
 #endif
 
@@ -257,7 +262,7 @@
                 {
                     if (boost::filesystem::is_directory(*file))
-                        dirlist.push_back(ArgumentCompletionListElement(file->string() + '/', getLowercase(file->string()) + '/', file->BOOST_LEAF_FUNCTION() + '/'));
+                        dirlist.push_back(ArgumentCompletionListElement(file->BOOST_DICTIONARY_ENTRY_NAME() + '/', getLowercase(file->BOOST_DICTIONARY_ENTRY_NAME()) + '/', file->BOOST_LEAF_FUNCTION() + '/'));
                     else
-                        filelist.push_back(ArgumentCompletionListElement(file->string(), getLowercase(file->string()), file->BOOST_LEAF_FUNCTION()));
+                        filelist.push_back(ArgumentCompletionListElement(file->BOOST_DICTIONARY_ENTRY_NAME(), getLowercase(file->BOOST_DICTIONARY_ENTRY_NAME()), file->BOOST_LEAF_FUNCTION()));
                     ++file;
                 }
