diff --git a/CMakeLists.txt b/CMakeLists.txt
index 35055a06..eaf7d65f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,6 +67,9 @@ PROJECT(openshot)
MESSAGE("--------------------------------------------------------------")
MESSAGE("Generating build files for ${PROJECT_NAME} (${PROJECT_VERSION})")
+#### Enable C++11 (for std::shared_ptr support)
+set(CMAKE_CXX_FLAGS "-std=c++11")
+
IF (WIN32)
SET_PROPERTY(GLOBAL PROPERTY WIN32 "WIN32")
ENDIF(WIN32)
diff --git a/include/AudioReaderSource.h b/include/AudioReaderSource.h
index 92fd6db4..4505426a 100644
--- a/include/AudioReaderSource.h
+++ b/include/AudioReaderSource.h
@@ -63,7 +63,7 @@ namespace openshot
ReaderBase *reader; /// The reader to pull samples from
int64 original_frame_number; /// The current frame to read from
int64 frame_number; /// The current frame number
- tr1::shared_ptr frame; /// The current frame object that is being read
+ std::shared_ptr frame; /// The current frame object that is being read
long int frame_position; /// The position of the current frame's buffer
double estimated_frame; /// The estimated frame position of the currently playing buffer
int estimated_samples_per_frame; /// The estimated samples per frame of video
@@ -118,7 +118,7 @@ namespace openshot
const ReaderInfo & getReaderInfo() const { return reader->info; }
/// Return the current frame object
- tr1::shared_ptr getFrame() const { return frame; }
+ std::shared_ptr getFrame() const { return frame; }
/// Get the estimate frame that is playing at this moment
long int getEstimatedFrame() const { return long(estimated_frame); }
diff --git a/include/CacheBase.h b/include/CacheBase.h
index c3c46164..41c7d1f9 100644
--- a/include/CacheBase.h
+++ b/include/CacheBase.h
@@ -28,7 +28,7 @@
#ifndef OPENSHOT_CACHE_BASE_H
#define OPENSHOT_CACHE_BASE_H
-#include
+#include
#include "Frame.h"
#include "Exceptions.h"
#include "Json.h"
@@ -62,7 +62,7 @@ namespace openshot {
/// @brief Add a Frame to the cache
/// @param frame The openshot::Frame object needing to be cached.
- virtual void Add(tr1::shared_ptr frame) = 0;
+ virtual void Add(std::shared_ptr frame) = 0;
/// Clear the cache of all frames
virtual void Clear() = 0;
@@ -72,13 +72,13 @@ namespace openshot {
/// @brief Get a frame from the cache
/// @param frame_number The frame number of the cached frame
- virtual tr1::shared_ptr GetFrame(long int frame_number) = 0;
+ virtual std::shared_ptr GetFrame(long int frame_number) = 0;
/// Gets the maximum bytes value
virtual long long int GetBytes() = 0;
/// Get the smallest frame number
- virtual tr1::shared_ptr GetSmallestFrame() = 0;
+ virtual std::shared_ptr GetSmallestFrame() = 0;
/// @brief Remove a specific frame
/// @param frame_number The frame number of the cached frame
diff --git a/include/CacheDisk.h b/include/CacheDisk.h
index 4ea47077..3a13dcf2 100644
--- a/include/CacheDisk.h
+++ b/include/CacheDisk.h
@@ -30,7 +30,7 @@
#include