我在VS2010下编译我的dll时收到报告的错误。
uafxcw.lib(appcore.obj):错误LNK2001:未解析的外部符号___wargv uafxcw.lib(appcore.obj):错误LNK2001:未解析的外部符号___ argc
设置似乎已得到纠正;那就是:
使用MFC设置为:在静态库中使用MFC
运行时库设置为:多线程
dll是一个directshow过滤器(入口点:DllEntryPoint @ 12)。所有链接的静态库都使用相同的设置进行编译,但我无法删除此错误。 预处理器设置为:WIN32; NDEBUG; _WINDOWS; UNICODE
有人有任何想法吗?
答案 0 :(得分:3)
当MFC和CRT(C运行时)库在调试/发布或静态/动态中不匹配时,您将收到此错误。
决议:
要更改应用程序或DLL使用的C运行时库的类型,请转到“构建/项目设置”属性表并切换到“C / C ++”选项卡。在C / C ++页面上,选择“代码生成”类别。更改“使用运行时库”列表框的值。请特别注意使每个配置具体;更改此值时,只应选择一个配置,例如“Win32(80x86)Debug”。 调试,共享库MFC应用程序 - “Debug Multithreaded Dll”。
发布,共享库MFC应用程序 - “多线程Dll”。
调试,静态库MFC应用程序 - “Debug Multithreaded”。
发布,静态库MFC应用程序 - “多线程。”