我在编写包装程序以在 .Net 客户端程序(C#)中使用供应商的库时遇到问题。供应商提供的是基于发布和调试构建的 C++ 头文件和 MFC 静态库文件 (.lib)。问题是,当我构建包装程序时,Visual Studio 2012 会像这样吐出 LNK 错误:
error LNK2001: unresolved external symbol ___argc nafxcwd.lib(appcore.obj)
error LNK2001: unresolved external symbol ___argv nafxcwd.lib(appcore.obj)
我使用选项设置构建属性/clr
,
将运行时库设置为Multi-threaded debug DLL (/MDd)
,
使用 MFC 设置为MFC in shared DLL
,
忽略库(nafxcwd.lib;msvcrtd.lib;msvcmrtd.lib;libc.lib;libcmt.lib;msvcrt.lib;libcd.lib;libcmtd .lib,请参阅此),添加依赖项(nafxcwd.lib;msvcrtd.lib;msvcmrtd.lib;(供应商的库),用于 CRT、MFC 库顺序)。
我错过了什么?我不知道我描述的不够。如果有什么不明确的地方,请问我。提前致谢!
附言。我对 C++ 很陌生(甚至是 Visual Studio ..)。我更熟悉Java。