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,是不是這么改不會有不良后果呢???請高手指點指點。。。。。