How to resolve library (.so) dependancy ?
Hi,
I'm using opencv3.3.1 for Linux platform in Qt framework. Having tree structure like this below
Compiler: Desktop Qt 5.9.4 MSVC2015 64bit (Microsoft Visual C++ compiler 14.0 (amd64))
.
|---- bin
|---- build
| |---- include
|----include
| |---- opencv
| |---- opencv2
|---- lib
| |---- pkgconfig
| |---- python2.7
|---- share
|---- OpenCV
I have linked all the libraries which is on the path: /lib
libopencv_calib3d.so libopencv_imgcodecs.so.4.0.0 libopencv_stitching.so.4.0 libopencv_calib3d.so.4.0 libopencv_imgproc.so libopencv_stitching.so.4.0.0 libopencv_calib3d.so.4.0.0 libopencv_imgproc.so.4.0 libopencv_superres.so libopencv_core.so libopencv_imgproc.so.4.0.0 libopencv_superres.so.4.0 libopencv_core.so.4.0 libopencv_ml.so libopencv_superres.so.4.0.0 libopencv_core.so.4.0.0 libopencv_ml.so.4.0 libopencv_videoio.so libopencv_features2d.so libopencv_ml.so.4.0.0 libopencv_videoio.so.4.0 libopencv_features2d.so.4.0 libopencv_objdetect.so libopencv_videoio.so.4.0.0 libopencv_features2d.so.4.0.0 libopencv_objdetect.so.4.0 libopencv_video.so libopencv_flann.so libopencv_objdetect.so.4.0.0 libopencv_video.so.4.0 libopencv_flann.so.4.0 libopencv_photo.so libopencv_video.so.4.0.0 libopencv_flann.so.4.0.0 libopencv_photo.so.4.0 libopencv_videostab.so libopencv_highgui.so libopencv_photo.so.4.0.0 libopencv_videostab.so.4.0 libopencv_highgui.so.4.0 libopencv_shape.so libopencv_videostab.so.4.0.0 libopencv_highgui.so.4.0.0 libopencv_shape.so.4.0 pkgconfig libopencv_imgcodecs.so libopencv_shape.so.4.0.0 python2.7 libopencv_imgcodecs.so.4.0 libopencv_stitching.so
For linking I have tried with this below,
unix|win32: LIBS += -L$${PATHOFDIR}/video -lvideo
INCLUDEPATH += $${PATHOFDIR}/video
DEPENDPATH += $${PATHOFDIR}/video
OPENCVLINUXDIR = /home/thirdparty/opencv/opencv_3.3.1
INCLUDEPATH += $${OPENCVLINUXDIR}/include
DEPENDPATH += $${OPENCVLINUXDIR}/include
LIBS += -L$${OPENCVLINUXDIR}/lib -lopencv_core -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videoio -lopencv_videostab
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_core.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_calib3d.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_features2d.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_flann.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_highgui.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_imgcodecs.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_imgproc.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_ml.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_ml.so.4.0.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_objdetect.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_photo.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_photo.so.4.0.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_shape.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_stitching.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_superres.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_video.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_videoio.so.4.0
dependencies.files += $${OPENCVLINUXDIR}/lib/libopencv_videostab.so.4.0
Please help me out why I'm getting this errors
Still 2 libraries I'm unable to link, say (libopencv_core.so.4.0, libopencv_videoio.so.4.0), got this below error,
:-1: warning: libopencv_core.so.4.0, needed by /home/test/UnitTest/../../build/release/modules/video/libvideo.so, not found (try using -rpath or -rpath-link) :-1: warning: libopencv_videoio.so.4.0, needed by ...
it does not build any
.so
files, you have to change / revise the linux based receipes for windowsno you don't link .so or .dll files in the 1st place
what ? please don't try to mix 3.3.1 and 4.0.1
Here is the scenario: I have one module developed in QT, say Video module, in which I have uses same libraries and in the same order, their it works pretty well (No Errors or warnings). Now I'm doing UnitTest for Video module, and calling method of Video module for test, and done the same configuration in UnitTest as done in Video module (Getting warnings and errors as already explained).
And sorry to mix it but its 4.0 library only.
Please follow this link, for more details, https://www.qtcentre.org/threads/7006...