我在编写包装程序时遇到问题,在.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,see this),
添加依赖项(nafxcwd.lib; msvcrtd.lib; msvcmrtd.lib;(供应商的库),用于CRT,MFC库顺序)。
我错过了什么? 我不知道我描述得足够多。如果有些含糊不清,请向我询问。 提前谢谢!
PS。我是C ++的新手(甚至是Visual Studio ..)。我对Java更熟悉。