首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fmt::格式访问冲突

fmt::格式访问冲突
EN

Stack Overflow用户
提问于 2021-01-23 02:02:52
回答 1查看 136关注 0票数 0

我不知道这有什么问题。最近建造了一台新的PC,它工作得很好(相同的项目,相同的设置,在视觉工作室,等等)。但是由于某种原因,每当我尝试fmt::format时,它都会给我一个访问冲突异常。不过,例如,如果使用spdlog进行格式化,它就可以正常工作。

代码语言:javascript
复制
const char* TextureException::what() const noexcept
{
    mWhat = fmt::format("{}\n[Info] {}", getType(), getInfo()); // access violation
    return mWhat.c_str();
}

getType()只是返回一些标识信息,它的硬编码现在,所以它不是一个nullptr或任何东西。与getInfo()相同(除此返回文件和行号外)

即使只是测试一些代码,也会给我一个访问违规错误:

代码语言:javascript
复制
int main(int argc, char** argv)
{
    std::string test = fmt::format("Testing {}", 32); // access violation
    std::cout << test << "\n";
}

我完全不明白为什么这不再适用于新的个人电脑。

EN

回答 1

Stack Overflow用户

发布于 2022-11-21 04:56:58

在我的例子中,当格式化字符串是unicode时没有问题,只有当它是ascii时才会发生访问冲突。

将visual studio>project property>vcpkg>Target和Configuration Specific>Vcpkg配置更改为Debug构建中的调试解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65855022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档