WTL和ATL、MFC都有各自的CString类,类名相同,功能也都差不多,但是如果你同时用到了WTL和ATL,就会发生CString冲突的问题,从而编译器会报错,因为编译器不知道到底你要用的CString是哪个类。下面提供一组头文件包含的内容及顺序,如果你用到ATL和WTL,只要把下面这几行放到stdafx.h中,就搞定了。
#include <atlbase.h>
#include <atlstr.h>
#include <atlwin.h>
#include <atlapp.h>
#define _WTL_NO_CSTRING
#include <atlmisc.h>
#include <atlcom.h>
#include <atlframe.h>
#include <atlctrls.h>
#include <atldlgs.h>
本文介绍如何解决在使用WTL和ATL时出现的CString类冲突问题。通过特定的头文件包含顺序和预处理器指令,可以避免编译器混淆两个库中的CString实现。
1449

被折叠的 条评论
为什么被折叠?



