--- crnlib/crn_timer.h
+++ crnlib/crn_timer.h
@@ -49,7 +49,7 @@ namespace crnlib
       timer m_tm;
 
    public:
-      inline timed_scope(char* pName = "timed_scope") : m_pName(pName) { m_tm.start(); }
+      inline timed_scope(const char* pName = "timed_scope") : m_pName(pName) { m_tm.start(); }
       
       inline double get_elapsed_secs() const { return m_tm.get_elapsed_secs(); }
       inline double get_elapsed_ms() const { return m_tm.get_elapsed_ms(); }
--- crnlib/crn_vector.cpp
+++ crnlib/crn_vector.cpp
@@ -21,7 +21,7 @@ namespace crnlib
       if (m_capacity >= min_new_capacity)
          return true;
 
-      size_t new_capacity = min_new_capacity;
+      ptr_bits_t new_capacity = min_new_capacity;
       if ((grow_hint) && (!math::is_power_of_2(new_capacity)))
          new_capacity = math::next_pow2(new_capacity);
 
--- inc/crn_decomp.h
+++ inc/crn_decomp.h
@@ -373,8 +373,8 @@ namespace crnd
    enum eClear { cClear };
 
    const uint32 cIntBits = 32U;
-
-#ifdef _WIN64
+
+#if defined(_WIN64) || defined(_LP64)
    typedef uint64 ptr_bits;
 #else
    #ifdef __x86_64__
