Ошибки Jetson TK1 / OpenCV4Tegra Linker

У меня есть программа, которая прекрасно работает на моем компьютере. Я просто взял Nvidia Jetson TK1, чтобы попробовать запустить его на этом. Я прошил до последней версии linux4tegra, установил cuda и opencv согласно инструкции здесь и здесь. Я получаю ошибки компоновщика всякий раз, когда я пытаюсь запустить мой файл make:

(.text+0x94): undefined reference to `cv::VideoCapture::VideoCapture(std::string const&)'
(.text+0xb2): undefined reference to `cv::VideoCapture::isOpened() const'
(.text+0xcc): undefined reference to `cv::VideoCapture::~VideoCapture()'
(.text+0x108): undefined reference to `cv::namedWindow(std::string const&, int)'
(.text+0x146): undefined reference to `vtable for cv::VideoCapture'
(.text+0x14a): undefined reference to `vtable for cv::VideoCapture'

Я уже сделал символические ссылки на несколько cuda SO, но я не могу понять, откуда они берутся.

Мой make-файл выглядит так:

g++ `pkg-config --libs opencv` ...

Конфигурация пакета возвращает:

$ pkg-config --libs opencv
/usr/lib/libopencv_calib3d.so /usr/lib/libopencv_contrib.so /usr/lib/libopencv_core.so /usr/lib/libopencv_features2d.so /usr/lib/libopencv_flann.so /usr/lib/libopencv_gpu.so /usr/lib/libopencv_highgui.so /usr/lib/libopencv_imgproc.so /usr/lib/libopencv_legacy.so /usr/lib/libopencv_ml.so /usr/lib/libopencv_objdetect.so /usr/lib/libopencv_photo.so /usr/lib/libopencv_stitching.so /usr/lib/libopencv_superres.so /usr/lib/libopencv_ts.a /usr/lib/libopencv_video.so /usr/lib/libopencv_videostab.so /usr/lib/libopencv_esm_panorama.so /usr/lib/libopencv_facedetect.so /usr/lib/libopencv_imuvstab.so /usr/lib/libopencv_tegra.so /usr/lib/libopencv_vstab.so -lcufft -lnpps -lnppi -lnppc -lcudart -lrt -lpthread -lm -ldl  

Есть идеи? Первоначально я не совпадал с заголовками и SO, но так как все они пришли от nvidia в одном пакете, я думаю, что это маловероятно.

1 ответ

Решение

Оказывается, мне нужно pkg-config --libs opencv после моих файлов в файле make.

Другие вопросы по тегам