VS2005 nafxcw.lib(appcore.obj) : 错误 LNK2001: 未解析的外部符号___argv



当我构建具有静态库输入(.lib)的项目时出现此错误。问题是我可以在调试中成功运行项目,但无法在发布模式下运行。它将错误显示为....

nafxcw.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv
nafxcw.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc

请帮我解决这个问题。

Microsoft的知识库Q166504可能会为您提供答案:

生成 MFC 应用程序或 DLL 时,需要确保所有 相关库是同步的:

  • 如果已选择在共享库中使用 MFC 生成应用程序,则还必须使用 C 的动态版本 运行时 (MSVCRT.DLL)。
  • 如果已选择生成调试 MFC 应用程序,则还必须使用 C 运行时的调试版本。同样,发布 MFC 应用程序必须使用 C 运行时的非调试版本。
  • 如果调试 MFC 应用程序使用扩展 DLL,则每个扩展 DLL 也必须是调试版本。同样,发布应用必须匹配 发布扩展 DLL。C 运行时库的类型是固定的。 扩展 DLL 和使用它们的应用程序都必须在 共享库,需要 C 的动态 DLL 版本 运行时。
  • 如果要链接到也链接到 MFC 或 CRT 的任何静态库,则应确保每个静态库共享 与 应用。

分辨率

更改应用程序使用的 C 运行时库的类型,或 DLL,转到"生成/项目设置"属性表,然后切换到 C/C++选项卡。在 C/C++ 页上,选择"代码生成"类别。 更改"使用运行时库"列表框的值。小心支付 注意使每个配置都具体化;只有一个 配置,如"Win32 (80x86) 调试",应在以下情况下选择。 更改此值。

  • 调试,共享库 MFC 应用程序 - "调试多线程 Dll"。

  • 发布、共享库 MFC 应用程序 - "多线程 Dll"。

  • 调试,静态库 MFC 应用程序 - "调试多线程"。

  • 发布,静态库 MFC 应用程序 - "多线程"。

相关内容

  • 没有找到相关文章

最新更新