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 - 更改调试输出目录
GLEW 无法在 Visual Studios 2010 中工作
Visual Studios(主要是 2012 专业版)<inherit from parent or PROJECT DEFAULTS> 的默认文件位置