在用OpenCV和TBB编译Linux (Ubuntu12.0.4,GCC 4.6.3,E 110EclipseE 211)时,控制台出现了错误,使用/usr/include/c++/4.6/bit/deque.tcc报告。错误是expected primary -expression before '>' token,它位于包含行中,包含文件是opencv的cv.h和objdetect.hpp,其中包括<deque>。
我不知道为什么系统库会报告错误。
(OpenCV版本很旧,大约为2.0,我正在构建一个共享库C++项目)。
包括线附近的线:
//file beginning
#ifndef _FEATUER_EXT_HPP
#define _FEATUER_EXT_HPP
#include "opencv/cv.h" //cv.h includes objdetect.h and further include <deque>
enum FEA_TYPE{
FEA_LBP256 = 0,
FEA_LBP59 = 1,
FEA_HIST10 = 2,
FEA_SIFT128 = 3,
FEA_SURF64 = 4,
FEA_HAAR144 = 5,
FEA_GABOR_SIFT256= 6,
FEA_GABOR_SURF128= 7,
FEA_GABOR120 = 8,
FEA_GABOR160 = 9,
FEA_GABOR240 = 10,
FEA_GABOR320 = 11,
FEA_SURF128 = 12,
FEA_SIFTC128 = 13,
FEA_GABOR_HAAR192= 14,
FEA_CSLBP_8U = 15
};发布于 2015-08-27 22:26:15
夫人,
如果不看代码,就很难诊断,但我可以告诉您,当我以前在TBB中看到这些问题时,罪魁祸首通常是#define,它在模板定义中执行文本替换。我将尝试对文件(-E)进行预处理,并查看预处理输出中的错误位置。
我希望这能帮点忙。
你好,克里斯
https://stackoverflow.com/questions/32240319
复制相似问题