C++ 如何在swig中使用Mat_uu模板?

C++ 如何在swig中使用Mat_uu模板?,c++,python-3.x,opencv,swig,cv2,C++,Python 3.x,Opencv,Swig,Cv2,所以我有一个.hpp文件,我计划在swig中使用,但该文件有一个模板(Mat),但每当我运行swig时,我最终得到: example.hpp::30: Error: Syntax error in input(1). 第30行为: Mat_<float> measurement(8,1); (我正在使用OpenCV部件) 用于编译/生成的命令: swig -I/home/me/Documents/.../opencv-swig/lib/ -I/usr/include -pytho

所以我有一个
.hpp
文件,我计划在swig中使用,但该文件有一个模板(
Mat
),但每当我运行
swig
时,我最终得到:

example.hpp::30: Error: Syntax error in input(1).
第30行为:

Mat_<float> measurement(8,1);
(我正在使用OpenCV部件)

用于编译/生成的命令:

swig -I/home/me/Documents/.../opencv-swig/lib/ -I/usr/include -python -c++ example.i

g++ -shared -std=c++1z -fpic example_wrap.cxx $(pkg-config --cflags --libs python3) $(pkg-config --libs opencv) -o _example.so

您可能需要使用类似
%模板(Mat_float_)Mat_
在.i文件的末尾。

你能分享更多你的
文件.hpp
吗?它和
example.hpp
是同一个文件吗?@fififi哦,糟糕,它们是同一个文件,而file/example只是占位符名称。已编辑。您是否尝试不使用第30行?我已经收到了相同的错误消息,它与指示的行无关,但有一个问题sooner@Fifi是的。我100%确信这只是定义模板的问题。它是否适用于其他类型?(例如,像
Mat
swig -I/home/me/Documents/.../opencv-swig/lib/ -I/usr/include -python -c++ example.i

g++ -shared -std=c++1z -fpic example_wrap.cxx $(pkg-config --cflags --libs python3) $(pkg-config --libs opencv) -o _example.so