在linux上构建OpenCV代码的问题

时间:2017-02-07 23:53:36

标签: c++ linux opencv

我最近一直在尝试正确配置eclipse以便能够使用OpenCV。将它安装到我的计算机后,(Ubuntu,使用cmake)我试图从OpenCV教程中构建一些示例代码。 这是示例代码。

#include <cv.h>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <highgui.h>

using namespace cv;

int main( int argc, char** argv )
{
  Mat image;
  image = imread( argv[1], 1 );

  if( argc != 2 || !image.data )
    {
      printf( "No image data \n" );
      return -1;
    }

  namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
  imshow( "Display Image", image );

  waitKey(0);

  return 0;
}

要使其发挥作用,还需要添加一些内容。

一切都找到了,但在构建时,会给出这3个错误。 (我正在编译的文件名为test.cpp)

./test.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC    

make: *** [libOpenCV] Error 1   

recipe for target 'libOpenCV' failed

我不知道为什么会发生这些错误,或者如何修复错误。任何人都有任何线索?

1 个答案:

答案 0 :(得分:0)

我认为你需要检查链接obj,opencv需要多少个库才能正常工作。请查看opencv网站上的详细手册。

相关问题