diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2014-12-02 15:45:45 -0800 |
---|---|---|
committer | Feng Xiao <xfxyjwf@gmail.com> | 2014-12-02 15:45:45 -0800 |
commit | 9e9ca4b60ab4b3b032b9f1abba9b4e9698639dfd (patch) | |
tree | 9a79a0ea2ae26a1b6a6fa4e99e93048815525484 | |
parent | e559b51b8de7d1d2ca35575b10176340fcc7bb82 (diff) | |
parent | d1ec493a12531ca8e9a8a2d3444e77348dca8145 (diff) | |
download | protobuf-9e9ca4b60ab4b3b032b9f1abba9b4e9698639dfd.tar.gz protobuf-9e9ca4b60ab4b3b032b9f1abba9b4e9698639dfd.tar.bz2 protobuf-9e9ca4b60ab4b3b032b9f1abba9b4e9698639dfd.zip |
Merge pull request #105 from xfxyjwf/fix_92
Fix Python C++ implementation build issues
-rw-r--r-- | python/google/protobuf/pyext/descriptor.cc | 12 | ||||
-rwxr-xr-x | python/setup.py | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/python/google/protobuf/pyext/descriptor.cc b/python/google/protobuf/pyext/descriptor.cc index 55bb0b72..7343c0b7 100644 --- a/python/google/protobuf/pyext/descriptor.cc +++ b/python/google/protobuf/pyext/descriptor.cc @@ -247,8 +247,10 @@ PyDescriptorPool* NewDescriptorPool() { } static void Dealloc(PyDescriptorPool* self) { - for (auto it : (*self->classes_by_descriptor)) { - Py_DECREF(it.second); + typedef PyDescriptorPool::ClassesByMessageMap::iterator iterator; + for (iterator it = self->classes_by_descriptor->begin(); + it != self->classes_by_descriptor->end(); ++it) { + Py_DECREF(it->second); } delete self->classes_by_descriptor; Py_TYPE(self)->tp_free(reinterpret_cast<PyObject*>(self)); @@ -300,7 +302,8 @@ const google::protobuf::Descriptor* RegisterMessageClass( return NULL; } Py_INCREF(message_class); - auto ret = self->classes_by_descriptor->insert( + typedef PyDescriptorPool::ClassesByMessageMap::iterator iterator; + std::pair<iterator, bool> ret = self->classes_by_descriptor->insert( make_pair(message_descriptor, message_class)); if (!ret.second) { // Update case: DECREF the previous value. @@ -323,7 +326,8 @@ const google::protobuf::Descriptor* RegisterMessageClass( // Retrieve the message class added to our database. PyObject *GetMessageClass(PyDescriptorPool* self, const Descriptor *message_descriptor) { - auto ret = self->classes_by_descriptor->find(message_descriptor); + typedef PyDescriptorPool::ClassesByMessageMap::iterator iterator; + iterator ret = self->classes_by_descriptor->find(message_descriptor); if (ret == self->classes_by_descriptor->end()) { PyErr_Format(PyExc_TypeError, "No message class registered for '%s'", message_descriptor->full_name().c_str()); diff --git a/python/setup.py b/python/setup.py index 7337260a..69ffcd1d 100755 --- a/python/setup.py +++ b/python/setup.py @@ -157,7 +157,7 @@ if __name__ == '__main__': "google/protobuf/pyext/repeated_scalar_container.cc", "google/protobuf/pyext/repeated_composite_container.cc" ], define_macros=[('GOOGLE_PROTOBUF_HAS_ONEOF', '1')], - include_dirs = [ ".", "../src"], + include_dirs = [ ".", "..", "../src"], libraries = [ "protobuf" ], library_dirs = [ '../src/.libs' ], )) |