the shared_ptr header is available. 2. The type narrowing using cxxabi in cppclass.py isn't correct with clang, so adding a #if checks to exclude it in that case.