C++ OpenCV和Boost文件系统之间的冲突

C++ OpenCV和Boost文件系统之间的冲突,c++,opencv,boost,mingw,C++,Opencv,Boost,Mingw,我对Boost库有一个问题,尤其是当与OpenCV一起使用时,文件系统。显然,问题与中描述的问题类似。在这种情况下,通过在“usingnamespace”语句前面加上所有“#include”语句,问题就解决了。就我而言,从一开始就是这样做的 我使用的是OpenCV 2.4.3和Boost 1.48(已经用1.52尝试过同样的问题)。编程是在Windows7(64位)中使用EclipseCPP插件和MinGW完成的 在尝试构建程序时,我遇到以下错误: C:\Boost\boost_1_48_0/b

我对Boost库有一个问题,尤其是当与OpenCV一起使用时,文件系统。显然,问题与中描述的问题类似。在这种情况下,通过在“usingnamespace”语句前面加上所有“#include”语句,问题就解决了。就我而言,从一开始就是这样做的

我使用的是OpenCV 2.4.3和Boost 1.48(已经用1.52尝试过同样的问题)。编程是在Windows7(64位)中使用EclipseCPP插件和MinGW完成的

在尝试构建程序时,我遇到以下错误:

C:\Boost\boost_1_48_0/boost/type_traits/decay.hpp:28:66: error: 'cvflann::<anonymous enum>' is/uses anonymous type
C:\Boost\boost_1_48_0/boost/type_traits/decay.hpp:28:66: error:   trying to instantiate 'template<class T> struct boost::remove_reference'
C:\Boost\boost_1_48_0/boost/type_traits/decay.hpp:38:17: error: 'cvflann::<anonymous       enum>' is/uses anonymous type
C:\Boost\boost_1_48_0/boost/type_traits/decay.hpp:38:17: error:   trying to instantiate    'template<class T> struct boost::remove_reference'
C:\Boost\Boost\u 1\u 48\u 0/Boost/type\u traits/decay.hpp:28:66:错误:“cvflann::”是/使用匿名类型
C:\Boost\Boost\u 1\u 48\u 0/Boost/type\u traits/decay.hpp:28:66:错误:尝试实例化“模板结构Boost::删除\u引用”
C:\Boost\Boost\u 1\u 48\u 0/Boost/type\u traits/decay.hpp:38:17:错误:“cvflann::”是/使用匿名类型
C:\Boost\Boost\u 1\u 48\u 0/Boost/type\u traits/decay.hpp:38:17:错误:尝试实例化“模板结构Boost::删除\u引用”
在我的例子中,using namespace语句位于include语句之后:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <vector>
#include <boost/filesystem.hpp>
#include <boost/multi_index_container.hpp>

using namespace std;
using namespace cv;
using namespace boost::filesystem;
#包括
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
使用名称空间cv;
使用名称空间boost::filesystem;
对于如何解决这个问题的任何想法,我们都将不胜感激

问候,,
路易斯

我建议你删除该部分:

using namespace std;
using namespace cv;
using namespace boost::filesystem;
并在code中使用范围运算符
::

在这两种不同的模式中