Я новичок в C ++, openCV и Artoolkit
Я пытаюсь построить устройства отслеживания движения
сейчас я следую учебнику
https://artoolkit.org/blog/2016/05/opencv-with-artoolkit
Однако я сталкиваюсь с некоторой проблемой, когда пытаюсь реализовать это в SimpleTest на машине с Linux.
Я получаю такую ошибку:
"clang++ -c -O3 -fPIC -march=core2 -DHAVE_NFT=1 -I/usr/include/x86_64-linux-gnu -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libxml2 -I../../include simpleTest.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated In file included from simpleTest.c:79: In file included from ../../include/linux-x86_64/opencv2/opencv.hpp:59:/usr/include/opencv2/contrib/contrib.hpp:273:23: error: no template named
'vector'; did you mean 'std::vector'?"
код SimpleTest
Я добавил строку, как это
#include <linux-x86_64/opencv2/opencv.hpp>
#include <linux-x86_64/opencv2/opencv_modules.hpp>
using namespace std;
using namespace cv;
в файле make:
Я добавляю это:
LIBS= -lARgsub -lARvideo -lAR -lARICP -lAR -lglut -lGLU -lGL -lX11 -lm -lpthread -ljpeg -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lxml2 -lglib-2.0 -ldc1394 -lraw1394 -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_viz -lippicv -lopencv_core
а также
CC = clang++
Есть несколько похожих проблем на SO здесь …..
Связывание C из C ++ в OS X Mavericks
Существует несоответствие между C ++ и C.
Чтобы обойти это, было бы лучше, если бы вы использовали ARWrapper для ARToolkit в рамках C ++.
Других решений пока нет …