Я хотел бы запустить свою программу на другом компьютере, у которого нет установленных библиотек. Я создаю свою программу в QT с помощью openCV и скопировал все необходимые .so libs в папку со всеми моими файлами. Затем я изменил пути в QT .pro дляКак правильно связать библиотеки библиотек Linux в qt?
INCLUDEPATH += ../
LIBS += -L../ -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_core.
Я скомпилировал, что на моем компьютере (Linux), и он работал, но я хочу, чтобы работать на другом компьютере без компиляции. На компьютере моего друга двоичный файл не работает. Я получаю сообщение об ошибке:
./displayImage: error while loading shared libraries: libopencv_highgui.so.3.1: cannot open shared object file: No such file or directory
Вы действительно отправили все части библиотеки? Очевидно, что он не может найти opencv_highgui SO. Возможно, библиотека opencv_highgui требуется другими opencv-библиотеками (** readelf ** может не сообщать об этом при запуске на вашем .elf), или, возможно, он ищет библиотеки libopencv_xyz.so без основных/второстепенных версий в имени файла («длинные имена», как правило, для символической ссылки в/usr/lib). Каков результат работы ** readelf ** в вашем выходном файле? –
Весь вывод readelf файлов, которые я добавил в папку с файлами проекта libopencv_highgui.so.3.1 libopencv_imgcodecs.so.3.1 [libopencv_imgcodecs.so.3.1 libopencv_core.so.3.1 ... –
Это может помочь, если вы задаете систему спецификаций и версий. – ilke444