0

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

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

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

我有 2 个错误:

Erreur 1 错误 LNK2019: symbole externe non rÚsolu __CrtDbgReportW rÚfÚrencÚ dans la fonction "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) C:\Users\ philippe\Downloads\Portable Devices COM API Sample\C++\libcpmtd.lib(stdthrow.obj) WpdApiSample

Erreur 2 错误 LNK1120: 1 externes non rÚsolus C:\Users\philippe\Downloads\Portable Devices COM API Sample\C++\Debug\WpdApiSample.exe 1 1 WpdApiSample

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

4

2 回答 2

2

_CrtDbgReportW“要求”部分的文档说:

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

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

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

于 2013-02-05T12:32:56.610 回答
1

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

于 2013-02-05T12:37:53.350 回答