我创建了一个干净的(非MFC) atl项目,添加了一个对话框和一些位图,在编译时得到了3个MFC关联错误:
WINDOWS.H已经包括在内。MFC应用程序不能包含@ afxv_w32.h 使用/MDD构建MFC应用程序需要MFC共享dll版本。请#定义_AFXDLL或不要使用/MDd @ afx.h
既然这个项目与MFC无关--为什么我会得到这些错误?(在项目设置中:“使用MFC”=使用标准Windows库。
我检查了预处理器定义: WIN32 _WINDOWS _DEBUG _USRDLL
这里也没什么。
有什么想法吗?
更新:我发现我做错了什么。我没有添加类向导的对话框,而是在资源视图中创建了对话框,而不是添加了一个类。这将创建一个MFC类,而不是ATL类。
发布于 2013-09-26 06:00:26
我找出了问题所在,在这里对未来的用户进行了更新,因为ATL的文档非常贫乏。
我在资源视图中添加了一个对话框,而不是为它添加了一个类。那是个错误。添加的类是MFC类,尽管项目不应该支持MFC。
如果希望保持项目清洁(来自MFC),则需要通过类视图添加类添加对话框,如本文所述:
添加ATL对话框
如果不是ATL,我会把它作为一个bug发布到MS上,但我不认为他们仍然关心这项技术。
https://stackoverflow.com/questions/18984628
复制相似问题