编译opencv4.2时出现undefined reference to `jpeg_default_qtables‘错误的解决方案
生活随笔
收集整理的這篇文章主要介紹了
编译opencv4.2时出现undefined reference to `jpeg_default_qtables‘错误的解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 操作系統:kylinV10
- opencv版本:4.2.0
在編譯opencv4.2.0的版本時,出現undefined reference to `jpeg_default_qtables’的錯誤提示,導致openc編譯中斷,不能繼續編譯,所以這個錯誤必須解決。
解決方案
查看錯誤的名字,根據名字分析,很有可能是當前系統中沒有安裝jpeg第三方庫,到 http://www.ijg.org/上下載最新的源碼包 jpegsrc.v9e.tar.gz,按如下順序開始編譯安裝:
tar -xzvf jpegsrc.v9e.tar.gz cd jpeg-9e./configuremake libdir=/usr/lib64 make libdir=/usr/lib64 install執行完以上命令后,命令行最后顯示顯示的輸出結果如下所示:
make[1]: Entering directory '/data3/deepblue/projects/build/jpeg-9e'/usr/bin/mkdir -p '/usr/lib64'/bin/sh ./libtool --mode=install /usr/bin/install -c libjpeg.la '/usr/lib64' libtool: install: /usr/bin/install -c .libs/libjpeg.so.9.5.0 /usr/lib64/libjpeg.so.9.5.0 libtool: install: (cd /usr/lib64 && { ln -s -f libjpeg.so.9.5.0 libjpeg.so.9 || { rm -f libjpeg.so.9 && ln -s libjpeg.so.9.5.0 libjpeg.so.9; }; }) libtool: install: (cd /usr/lib64 && { ln -s -f libjpeg.so.9.5.0 libjpeg.so || { rm -f libjpeg.so && ln -s libjpeg.so.9.5.0 libjpeg.so; }; }) libtool: install: /usr/bin/install -c .libs/libjpeg.lai /usr/lib64/libjpeg.la libtool: install: /usr/bin/install -c .libs/libjpeg.a /usr/lib64/libjpeg.a libtool: install: chmod 644 /usr/lib64/libjpeg.a libtool: install: ranlib /usr/lib64/libjpeg.a libtool: finish: PATH="/root/.vscode-server/bin/8dfae7a5cd50421d10cd99cb873990460525a898/bin/remote-cli:/data/home/tdsql/jdk/bin:/usr/local/bin:/data/home/tdsql/jdk/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/data/home/tdsql/hadoop/bin:/data/home/tdsql/hadoop/sbin:/usr/local/cuda-11.4/bin:/root/bin:/data/home/tdsql/hadoop/bin:/data/home/tdsql/hadoop/sbin:/usr/local/cuda-11.4/bin:/root/bin:/sbin" ldconfig -n /usr/lib64 ldconfig: /usr/lib64/libLLVM-7.so is not a symbolic link---------------------------------------------------------------------- Libraries have been installed in:/usr/lib64If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following:- add LIBDIR to the 'LD_LIBRARY_PATH' environment variableduring execution- add LIBDIR to the 'LD_RUN_PATH' environment variableduring linking- use the '-Wl,-rpath -Wl,LIBDIR' linker flag- have your system administrator add LIBDIR to '/etc/ld.so.conf'See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ----------------------------------------------------------------------/usr/bin/mkdir -p '/usr/local/bin'/bin/sh ./libtool --mode=install /usr/bin/install -c cjpeg djpeg jpegtran rdjpgcom wrjpgcom '/usr/local/bin' libtool: install: /usr/bin/install -c .libs/cjpeg /usr/local/bin/cjpeg libtool: install: /usr/bin/install -c .libs/djpeg /usr/local/bin/djpeg libtool: install: /usr/bin/install -c .libs/jpegtran /usr/local/bin/jpegtran libtool: install: /usr/bin/install -c rdjpgcom /usr/local/bin/rdjpgcom libtool: install: /usr/bin/install -c wrjpgcom /usr/local/bin/wrjpgcom /bin/sh /data3/deepblue/projects/build/jpeg-9e/install-sh -d /usr/local/include /usr/bin/install -c -m 644 jconfig.h /usr/local/include/jconfig.h/usr/bin/mkdir -p '/usr/local/include'/usr/bin/install -c -m 644 jerror.h jmorecfg.h jpeglib.h '/usr/local/include'/usr/bin/mkdir -p '/usr/local/share/man/man1'/usr/bin/install -c -m 644 cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1 '/usr/local/share/man/man1'/usr/bin/mkdir -p '/usr/lib64/pkgconfig'/usr/bin/install -c -m 644 libjpeg.pc '/usr/lib64/pkgconfig' make[1]: Leaving directory '/data3/deepblue/projects/build/jpeg-9e'說明jpeg安裝成功,opencv可以繼續編譯了。
總結
以上是生活随笔為你收集整理的编译opencv4.2时出现undefined reference to `jpeg_default_qtables‘错误的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编译protobuf-3.11.4 错误
- 下一篇: 进程的组织