在 Linux 上编译 OpenCV 和 TBB 的项目时( Ubuntu 12.0.4 , GCC 4.6.3 , Eclipse ),控制台出现了与/usr/include/c++/4.6/bits/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
};
答案 0 :(得分:0)
mrmoment,
不看代码就不容易诊断,但我可以告诉你,在TBB之前我看到这些问题时,罪魁祸首通常是在模板定义中进行文本替换的#define。我会尝试预处理文件(-E)并查看预处理输出中的错误位置。
我希望这有点帮助。
此致 克里斯