Visual Studios 2012 更改运行时库会导致链接错误,使用 C++

Posted

技术标签:

【中文标题】Visual Studios 2012 更改运行时库会导致链接错误,使用 C++【英文标题】:Visual Studios 2012 Changing Runtime Library causes Link Errors, with C++ 【发布时间】:2014-01-29 11:51:44 【问题描述】:

我编写了使用 Fico 的 BCL C++ 库来解决优化问题的程序。当我在 Visual Studio 2012 中使用 /MDd 运行时库编译和运行代码时,一切都编译正常并且程序运行。

我需要能够在无法安装 Visual Studio 的另一台机器上运行该程序。当我尝试使用 /MD 运行时库编译我的程序时,我收到以下链接错误:

error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: char const & __thiscall std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >::operator*(void)const " (??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ)

当我使用 /MT 运行时库时,我会得到更长的链接器错误列表。

我是使用 C++ 和 Visual Studio 编写和编译代码的新手。我错过了一些明显的东西吗? Fico 软件安装在目标系统上。

【问题讨论】:

【参考方案1】:

这些错误意味着您链接到了 BCL 库的调试版本。

在发布模式下,与 BCL 的发布版本链接。

【讨论】:

以上是关于Visual Studios 2012 更改运行时库会导致链接错误,使用 C++的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studios Express - 更改调试输出目录

Visual Studios 调试设置保存在哪里?

GLEW 无法在 Visual Studios 2010 中工作

Visual Studios(主要是 2012 专业版)<inherit from parent or PROJECT DEFAULTS> 的默认文件位置

由于找不到文件错误,无法在 Visual Studios 中运行 C++ 代码 [重复]

可以将其他文件类型添加到 Visual Studios 清理过程吗?