OpenCV не компилируется, но установлен и показывает разумность включения lib - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь скомпилировать простой код с C ++ OpenCV, но оба компилятора g ++ и clang ++ обвиняют в неопределенной ссылке. Я следовал этим шагам для установки OpenCV и успешного выполнения последнего шага (тестов). Моя система: Ubuntu 18.04

  • Простой код для тестирования:
#include <opencv2/core.hpp>
int main(){
    cv::Mat image;
}
  • Вывод для g ++ с командой g++ teste.cpp -o teste -I /usr/local/include/opencv4:
/tmp/ccqJeAzC.o: In function `cv::Mat::~Mat()':
teste.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x39): undefined reference to `cv::fastFree(void*)'
/tmp/ccqJeAzC.o: In function `cv::Mat::release()':
teste.cpp:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x4b): undefined reference to `cv::Mat::deallocate()'
collect2: error: ld returned 1 exit status
  • Вывод для clang ++ с командой clang++ teste.cpp -o teste -I /usr/local/include/opencv4:
/tmp/teste-44c531.o: In function `cv::Mat::~Mat()':
teste.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD2Ev]+0x47): undefined reference to `cv::fastFree(void*)'
/tmp/teste-44c531.o: In function `cv::Mat::release()':
teste.cpp:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x48): undefined reference to `cv::Mat::deallocate()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
...