gpt4 book ai didi

c++ - 更改运行时库破坏了 std::string。为什么?

转载 作者:行者123 更新时间:2023-11-30 05:32:24 26 4
gpt4 key购买 nike

编辑:我通过将我的运行时库设置为从项目默认继承来解决了这个问题。我使用的是多线程 DLL(/MT),因为我使用的 SDL-2 教程就是这样做的。

有人可以解释为什么这破坏了 c++ 的字符串吗?


每当我尝试使用字符串时,我的编译器都会给我以下错误:

LNK2019 unresolved external symbol __imp___invalid_parameter referenced in function "void * __cdecl std::_Allocate(unsigned int,unsigned int,bool)"

LNK2019 unresolved external symbol __imp___CrtDbgReportW referenced in function "void * __cdecl std::_Allocate(unsigned int,unsigned int,bool)"

我已将所有代码剥离到最低限度,如下所示:

#include <string>

int main(int argc, char *argv[]) {
std::string resPath;
return 0;
}

我不知道去哪里找。有人有想法吗?

我正在使用 MSVS Community 2015。

最佳答案

我刚刚在 VS2017 上遇到了同样的问题。原来我的运行时库设置有误。我不小心将它设置为多线程 DLL (/MD) 用于调试配置。应该是Multi-threaded Debug DLL (/MDd) 或者Multi-threaded Debug (/MTd)。

关于c++ - 更改运行时库破坏了 std::string。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35140129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com