ABLE_DEPRECATED' is defined [-Winvalid-pch] //usr/lib/libvtkIO.so.5.10:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFClose@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFGetFieldDefaulted@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘_TIFFmalloc@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFDefaultStripSize@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFReadTile@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘_TIFFfree@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFNumberOfDirectories@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFReadRGBAImage@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFSetDirectory@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFReadScanline@LIBTIFF_4.0’未定义的引用 //usr/lib/libvtkIO.so.5.10:对‘TIFFNumberOfTiles@LIBTIFF_4.0’未定义的引用 collect2: error: ld returned 1 exit status modules/viz/CMakeFiles/opencv_test_viz.dir/build.make:234: recipe for target 'bin/opencv_test_viz' failed make[2]: *** [bin/opencv_test_viz] Error 1 CMakeFiles/Makefile2:6104: recipe for target 'modules/viz/CMakeFiles/opencv_test_viz.dir/all' failed make[1]: *** [modules/viz/CMakeFiles/opencv_test_viz.dir/all] Error 2 make[1]: *** 正在等待未完成的任务....
解决办法: 在cmake编译opencv时候加参数编译-DBUILD_TIFF=ON
使用cmake按照网络教程配置生成Makefile文件
当sudo make后,编译到一个地方(ocl_test.hpp),出错:error: 'INTER_LINEAR_EXACT' was not declared in this scope。
具体咋写的忘了,这里只是示意问题,意思是在本域内没声明。。。。。。百度、谷歌到处翻帖子找解决方法没找到。。。。。
索性自己找的INTER_LINEAR_EXACT 定义的头文件:imgproc.hpp,里面
#define INTER_LINEAR_EXACT 5
所以,把ocl_test.hpp出错命令行的 INTER_LINEAR_EXACT直接改成 5 就可以编译通过了。。。。。。
本人觉得反正都是宏定义,对于编译器来说都是5,是不是这么改不会有不良后果呢???请高手指点指点。。。。。