静态链接C++2010失败

Statically link C++ 2010 failed

本文关键字:失败 C++2010 链接 静态      更新时间:2023-10-16

我的目标是通过静态链接来避免安装Microsoft C++2010。因为我不知道该软件包是否会安装在所有客户的计算机上,而且他的it部门不允许安装软件。

另一种选择是避免使用行政特权。(例如,在与我的程序相同的目录中提取dll)

我找到了一个可能的解决方案http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/ab187afb-3af0-44ba-a03c-dde9e5208a1a/并且我尝试了参数/MT。

我有两个错误:

错误1错误LNK2019:符号外部非rÚsolu __CrtDbgReportWr 218; fÚrenc 218; dans la foction"void __cdecl std::_Debug_message(wchar_tconst*,wchar_t const*,unsigned int)"(?_Debug_message@std@@YAXPB_W0I@Z)C:\Users\philippe\Downloads\Portable设备COM API示例\C++\libcpmtd.lib(stdthrow.obj)WpdApiSample

错误2错误LNK1120:1外部非rÚsolus C:\Users\philippe\Downloads\Portable Devices COM APISample\C++\Debug\WpdApiSample.exe 1 1 WpdApiSample

我的方式好吗?我该如何解决这个问题?

_CrtDbgReportW在"需求"部分的文档中写道:

库:仅调试C运行时库的版本。

这意味着这样的函数不存在于库的发布版本中,因此,代码的发布版本不应该调用它们。

根据此表,您可能需要使用/MTd,以便链接到静态调试版本。

/MT用于发布配置,/MTd用于调试