In all .cpp files, remove using namespace ndn::ptr_lib and explicitly use ptr_lib::shared_ptr and make_shared.
diff --git a/src/name.cpp b/src/name.cpp
index 68005e6..b17a163 100644
--- a/src/name.cpp
+++ b/src/name.cpp
@@ -14,7 +14,6 @@
 #include "c/util/ndn_memory.h"
 
 using namespace std;
-using namespace ndn::ptr_lib;
 
 namespace ndn {
 
@@ -130,7 +129,7 @@
 Name::Component 
 Name::Component::fromNumber(uint64_t number)
 {
-  shared_ptr<vector<uint8_t> > value(new vector<uint8_t>());
+  ptr_lib::shared_ptr<vector<uint8_t> > value(new vector<uint8_t>());
   
   // First encode in little endian.
   while (number != 0) {
@@ -146,7 +145,7 @@
 Name::Component 
 Name::Component::fromNumberWithMarker(uint64_t number, uint8_t marker)
 {
-  shared_ptr<vector<uint8_t> > value(new vector<uint8_t>());
+  ptr_lib::shared_ptr<vector<uint8_t> > value(new vector<uint8_t>());
   
   // Add the leading marker.
   value->push_back(marker);