天嵌 ARM开发社区

 找回密码
 注册
查看: 2454|回复: 0

移植OpenCV动态库时的路径问题

[复制链接]
回帖奖励 20 回复本帖可获得 10 奖励! 每人限 1 次
Ben小盆友 发表于 2015-1-28 12:01:53 | 显示全部楼层 |阅读模式
我已经在Ubuntu上编译好amd64版本和arm版本的OpenCV2.4.10,
其中arm版本OpenCV的安装路径是:/usr/local/OpenCV2.4.10-arm
并且,已经将/usr/local/OpenCV2.4.10-arm/lib中的库全部复制到210开发板上的/lib目录中了。

我就自己参考例子中的人脸识别程序,将程序改写到QT中,交叉编译并复制到开发板上运行。
运行时出现错误:./LoadImage: error while loading shared libraries: /usr/local/OpenCV2.4.10-arm/lib/libopencv_core.so: cannot open shared object file: No such file or directory
这个程序一直都要想去/usr/local/OpenCV2.4.10-arm/lib/目录查找OpenCV的库文件,但是这个目录是在PC上的目录,板子上是没有这个目录的。
然后我就只能在板子上建立一个一样的目录,并将库文件再复制到这个目录下,程序是能够正常运行的。

现在我的问题是有什么办法可以让程序去/lib目录中查找OpenCV的库文件呢?

另外,以下是我的Qt工程的pro文件:
  1. <p>#-------------------------------------------------
  2. #
  3. # Project created by QtCreator 2015-01-21T15:52:34
  4. #
  5. #-------------------------------------------------</p><p>QT       += core gui</p><p>greaterThan(QT_MAJOR_VERSION, 4): QT += widgets</p><p>TARGET = LoadImage
  6. TEMPLATE = app</p><p>
  7. SOURCES += main.cpp\
  8.         dialog.cpp</p><p>HEADERS  += dialog.h</p><p>FORMS    += dialog.ui</p><p>#QMAKE_INCDIR += /usr/local/OpenCV-arm/include/</p><p>#QMAKE_LIBS += -lcvaux -lcv -lcxcore -lhighgui -lml</p><p>INCLUDEPATH += /usr/local/OpenCV2.4.10-arm/include/
  9. LIBS += /usr/local/OpenCV2.4.10-arm/lib/libopencv_core.so \
  10.         /usr/local/OpenCV2.4.10-arm/lib/libopencv_imgproc.so \
  11.         /usr/local/OpenCV2.4.10-arm/lib/libopencv_highgui.so \
  12.         /usr/local/OpenCV2.4.10-arm/lib/libopencv_objdetect.so \
  13.         /usr/local/OpenCV2.4.10-arm/lib/libopencv_flann.so \
  14.         /usr/local/OpenCV2.4.10-arm/lib/libopencv_features2d.so \
  15.         /usr/local/OpenCV2.4.10-arm/lib/libopencv_calib3d.so
  16. </p><p> </p>
复制代码
以下是用qmake生成的makefile文件:

  1. #############################################################################
  2. # Makefile for building: LoadImage
  3. # Generated by qmake (2.01a) (Qt 4.5.0) on: ?? 1? 28 11:08:22 2015
  4. # Project:  LoadImage.pro
  5. # Template: app
  6. # Command: /opt/EmbedSky/qt-4.5/__install/arm/bin/qmake -unix -o Makefile LoadImage.pro
  7. #############################################################################

  8. ####### Compiler, tools and options

  9. CC            = arm-linux-gcc
  10. CXX           = arm-linux-g++
  11. DEFINES       = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
  12. CFLAGS        = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
  13. CXXFLAGS      = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
  14. INCPATH       = -I../../../EmbedSky/qt-4.5/__install/arm/mkspecs/default -I. -I../../../EmbedSky/qt-4.5/__install/arm/include/QtCore -I../../../EmbedSky/qt-4.5/__install/arm/include/QtNetwork -I../../../EmbedSky/qt-4.5/__install/arm/include/QtGui -I../../../EmbedSky/qt-4.5/__install/arm/include -I/usr/local/OpenCV2.4.10-arm/include -I. -I.
  15. LINK          = arm-linux-g++
  16. LFLAGS        = -Wl,-O1 -Wl,-rpath,/opt/EmbedSky/qt-4.5/__install/arm/lib
  17. LIBS          = $(SUBLIBS)  -L/opt/EmbedSky/qt-4.5/__install/arm//lib /usr/local/OpenCV2.4.10-arm/lib/libopencv_core.so /usr/local/OpenCV2.4.10-arm/lib/libopencv_imgproc.so /usr/local/OpenCV2.4.10-arm/lib/libopencv_highgui.so /usr/local/OpenCV2.4.10-arm/lib/libopencv_objdetect.so /usr/local/OpenCV2.4.10-arm/lib/libopencv_flann.so /usr/local/OpenCV2.4.10-arm/lib/libopencv_features2d.so /usr/local/OpenCV2.4.10-arm/lib/libopencv_calib3d.so -lQtGui -L/tslib-1.4/libc -L/opt/EmbedSky/qt-4.5/__install/arm//lib -lts -lQtNetwork -lQtCore -lm -lrt -ldl -lpthread
  18. AR            = arm-linux-ar cqs
  19. RANLIB        =
  20. QMAKE         = /opt/EmbedSky/qt-4.5/__install/arm/bin/qmake
  21. TAR           = tar -cf
  22. COMPRESS      = gzip -9f
  23. COPY          = cp -f
  24. SED           = sed
  25. COPY_FILE     = $(COPY)
  26. COPY_DIR      = $(COPY) -r
  27. INSTALL_FILE  = install -m 644 -p
  28. INSTALL_DIR   = $(COPY_DIR)
  29. INSTALL_PROGRAM = install -m 755 -p
  30. DEL_FILE      = rm -f
  31. SYMLINK       = ln -sf
  32. DEL_DIR       = rmdir
  33. MOVE          = mv -f
  34. CHK_DIR_EXISTS= test -d
  35. MKDIR         = mkdir -p
复制代码
以下是程序的运行效果:

最下面是我的例子程序,顺便提供给有需要的人参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-18 23:50 , Processed in 1.078125 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表