C++ 头文件包含顺序 microsoft sdks\windows\v6.0a\include\gdiplustypes.h(658) : error C3861: 'min': identi

对着背影说爱祢 提交于 2020-02-17 01:30:15

周末调试mfc程序, 因为程序中要调用OpenCV的库。 

但是出现了:microsoft sdks\windows\v6.0a\include\gdiplustypes.h(658) : error C3861: 'min': identifier not found

这么一个问题。  在网上查呢,他们的解释都是关于,他们建的工程不是mfc程序, 是调用了CMake。

如:websit。 但是呢,我这建立的就是mfc程序。 加了NOMAXMIN都没有用。 

后面找到问题的根本原因了:原因是因为我包含的第三方库的opencv的头文件和系统头文件相冲突。 

这就涉及到了C++中头文件的包含顺序问题。 然后我把第三方库的头文件放到最后, 并且是"" 去包括头文件。 


[cpp] view plain copy
#include <atlimage.h>  
#include "opencv2/opencv.hpp"  
再去编译就编译成功了。 
这里面包含了一个关于C++头文件的包含顺序研究。 具体可以参考。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!