在ubuntu16上面安装了HI3536的交叉编译工具链之后,在编译自己的代码时报如下信息:

D_FILE_OFFSET_BITS=64   -I../include -g -rdynamic -std=c++11 -o flowdetect_demo ./main.o   -lpthread  -L../lib  -lopencv_highgui  -lopencv_imgproc  -lopencv_core  -lopencv_imgcodecs  -lopencv_video  -lopencv_videoio  -lflowdetect
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: ../../lib/libopencv_videoio.so, needed by ../lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: ../../lib/libopencv_imgcodecs.so, needed by ../lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: ../../lib/libopencv_imgproc.so, needed by ../lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: ../../lib/libopencv_core.so, needed by ../lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)

截图如下:

这是因为电脑的ubuntu16是64位的,而交叉编译工具链是32位的,解决方法是

sudo apt install lib32z1-dev

有一次在另一个平台上出现了同样的情况,执行上面的apt install没用,然后才发现这几个其实只是warning,不是错误,生成的可执行文件执行没报错。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐