Я пытаюсь создать проект cocos2d-x 3.0 (стабильный) для Android с помощью сценария build_native.py
, но он зависает, когда класс использует функцию std::to_string
(или std::stoi
). Сборка проекта под Xcode вообще не вызывает проблем, просто компиляция из командной строки не работает.
Я уже импортирую <string>
во все классы, которые используют эти функции, но безуспешно. Я также изменил файл Application.mk
следующим образом:
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=0 -std=c++11 -Wno-literal-suffix -fsigned-char
добавление флага -std=c++11
, чтобы убедиться, что проект скомпилирован с использованием версии C++11.
Есть ли что-нибудь еще, что я должен сделать здесь?
Более
После этой темы я решил включить это:
#if CC_TARGET_PLATFORM == CC_PLATFORM_MAC || CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
string to_string(int t) {
ostringstream os;
os << t;
return os.str();
}
#endif
в моих заголовках, так как я просто использую to_string
с целочисленными входными данными. Это не очень хорошее решение, но работает нормально... но компилятор снова зависает, когда снова находит функцию stoi
.
boost::lexical_cast
в качестве замены для обоих - person Praetorian   schedule 16.05.2014boost
с устройствами Androidarm
, а также с iOS? - person marzapower   schedule 16.05.2014