大概是下面这段类似的程序出问题,在win10电脑上运行成功,按钮改变文案。但是无法生成安卓的apk文件,不是环境配置问题,说是cpp文件的程序问题。
//按钮控制变化的文案
auto ccc = String::createWithFormat("文案一");
_aaa = Label::createWithSystemFont(ccc->getCString(), "Arial", 20);
_aaa->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
//按钮
auto button = Button::create("1.png", "2.png", "3.png");
button->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2));
button->addTouchEventListener([&](Ref* sender, ui::Widget::TouchEventType type) {
switch (type)
{
case ui::Widget::TouchEventType::BEGAN:
break;
case ui::Widget::TouchEventType::ENDED:
auto bbb = String::createWithFormat("文案二");
//@@@@@@@@@@@@@@@@@@@@@@@@
_aaa->setString(StringUtils::format(bbb->getCString())); //这句在生成apk文件时报错
//@@@@@@@@@@@@@@@@@@@@@@@@
break;
default:break;
}
});
报错信息:
D:\Mygame\Classes\HelloWorldScene.cpp:636:62: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
_aaa->setString(StringUtils::format(bbb->getCString()));