C++ OpenCV和Boost文件系统之间的冲突
我对Boost库有一个问题,尤其是当与OpenCV一起使用时,文件系统。显然,问题与中描述的问题类似。在这种情况下,通过在“usingnamespace”语句前面加上所有“#include”语句,问题就解决了。就我而言,从一开始就是这样做的 我使用的是OpenCV 2.4.3和Boost 1.48(已经用1.52尝试过同样的问题)。编程是在Windows7(64位)中使用EclipseCPP插件和MinGW完成的 在尝试构建程序时,我遇到以下错误: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
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中使用范围运算符::
在这两种不同的模式中