【发布时间】:2016-05-10 11:17:46
【问题描述】:
编辑: 我通过将我的运行时库设置为从项目默认值继承来解决了这个问题。 我使用的是 Multi-treaded DLL(/MT),因为我使用的 SDL-2 教程就是这样做的。
有人能解释一下为什么这会破坏 c++ 的字符串吗?
每当我尝试使用字符串时,我的编译器都会给我以下错误:
函数“void * __cdecl std::_Allocate(unsigned int,unsigned int,bool)”中引用的 LNK2019 未解析的外部符号 __imp___invalid_parameter
函数“void * __cdecl std::_Allocate(unsigned int,unsigned int,bool)”中引用的 LNK2019 未解析的外部符号 __imp___CrtDbgReportW
我已将所有代码剥离到最低限度,如下所示:
#include <string>
int main(int argc, char *argv[]) {
std::string resPath;
return 0;
}
我不知道去哪里找。有人有想法吗?
我正在使用 MSVS 社区 2015。
【问题讨论】:
-
什么版本的 MSVS?
-
如果您像这样更改运行时库,则需要进行完全重建。
标签: c++ visual-studio c++11 sdl-2