stdafx.h中的#include <afxcontrolbars.h>引起的问题 今天纠结了一天一个问题:vs2010编译错误:
1>Image_browser\ImageBrowserConsole.cpp(211): error C2872: “CImage”: 不明确的符号1> 可能是“e:\研究生\课题资料\channel_surveillance\channel_surveillance\multimedia\..\Multimedia_library_solution\Image_basic_lib\Header_files\Image.h(20) : CImage”1> 或 “c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atlimage.h(68) : ATL::CImage”这个问题产生的前提:之前一切运行正常,当我在工程中加了一个继承自CDialogEx的对话框类后,编译开始出错,我把加的类删除掉也还是错误。起初以为是类名冲突引起的错误,尝试用命名空间的方法,但是丝毫没用处,依然在凡是有CImage的地方一条条红色波浪线的错误提醒,几近崩溃。而且我一直觉得不是类名冲突引起的问题,因为在添加类之前,程序一直运行正常。晚间的时候找同学帮忙,试了各种方法还是没找到,最后想到试试观察stdafx.h文件与出错之前运行良好的程序的stdafx.h进行对比可以发现多出了一个包含头文件 #include <afxcontrolbars.h>我们知道stdafx.h是自动生成的,包含项目中需要用到的各种标准库头文件,且会随着代码的修改而变化(增加头文件包含)把最后添加的一行删除后,CDialogEx不能用,用了就报控件不能用。WIN32使用CDialogEx的问题
1>Image_browser\ImageBrowserConsole.cpp(211): error C2872: “CImage”: 不明确的符号1> 可能是“e:\研究生\课题资料\channel_surveillance\channel_surveillance\multimedia\..\Multimedia_library_solution\Image_basic_lib\Header_files\Image.h(20) : CImage”1> 或 “c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atlimage.h(68) : ATL::CImage”这个问题产生的前提:之前一切运行正常,当我在工程中加了一个继承自CDialogEx的对话框类后,编译开始出错,我把加的类删除掉也还是错误。起初以为是类名冲突引起的错误,尝试用命名空间的方法,但是丝毫没用处,依然在凡是有CImage的地方一条条红色波浪线的错误提醒,几近崩溃。而且我一直觉得不是类名冲突引起的问题,因为在添加类之前,程序一直运行正常。晚间的时候找同学帮忙,试了各种方法还是没找到,最后想到试试观察stdafx.h文件与出错之前运行良好的程序的stdafx.h进行对比可以发现多出了一个包含头文件 #include <afxcontrolbars.h>我们知道stdafx.h是自动生成的,包含项目中需要用到的各种标准库头文件,且会随着代码的修改而变化(增加头文件包含)把最后添加的一行删除后,CDialogEx不能用,用了就报控件不能用。WIN32使用CDialogEx的问题
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法