In common.h, define func_lib for function objects.  In configure.ac, define HAVE_STD_FUNCTION and HAVE_BOOST_FUNCTION.  Include function headers in ndnboost.
diff --git a/ndnboost/smart_ptr/make_shared_object.hpp b/ndnboost/smart_ptr/make_shared_object.hpp
index 1d1ae7a..513dfc2 100644
--- a/ndnboost/smart_ptr/make_shared_object.hpp
+++ b/ndnboost/smart_ptr/make_shared_object.hpp
@@ -87,6 +87,10 @@
         destroy();
     }
 
+    static void operator_fn( T* ) // operator() can't be static
+    {
+    }
+
     void * address() BOOST_NOEXCEPT
     {
         return storage_.data_;