Сбой при вставке пары в std :: map Cocos2d-x 2.x iOS 5

Я работаю над игрой на основе Cocos2d-x 2.x.

Я создаю std :: map и вставляю пару строк:

std::map<std::string, std::string> props;
std::string value("1");
std::string key("type");
props.insert(std::pair<std::string, std::string>(key, value));

На iOS 6 и 7 работает нормально. На iOS 5 вылетает на insert с EXC_BAD_ACCESS (код = 1, адрес = 0x6), и отладчик выделяет последнюю строку кода в iOS 7.1 > usr/include > c++ > 4.2.1 > bits > stl_pair.h:

/** There is also a templated copy ctor for the @c pair class itself.  */
template<class _U1, class _U2>
pair(const pair<_U1, _U2>& __p)
: first(__p.first), second(__p.second) { }
};

В исходном коде Cocos2d-x тот же код работает нормально, например, в CCFileUtils.cpp (fullPathForFilename метод).
Что я делаю не так?

0

Решение

Я тоже с этим сталкиваюсь. Отлично работает на iOS 6 и iOS7. И он прекрасно работает в режиме отладки на iOS 5. Похоже, это связано с XCode 5.1 или iOS SDK 7.1. Предыдущая версия нашего приложения (до Xcode 5.1 и iOS SDK 7.1) прекрасно работает на iOS 5.

0

Другие решения

Может быть, это связано с тем, что компилятор C / C ++ использует Xcode 5?

Попробуйте сравнить GCC_C_LANGUAGE_STANDARD, CLANG_CXX_LANGUAGE_STANDARD, CLANG_CXX_LIBRARY создать настройки для вашей цели в Xcode 4/5.

0

По вопросам рекламы [email protected]