Здравствуйте! Необходима небольшая консультация. Есть самописный проект на Qt, использующий OpenCV и системные библиотеки (прежде всего, X11 и libpthread). Предварительно был скачан и установлен Cmake-ом OpenCV 2.4.9 (не с официального репозитория Ubuntu (libopencv-dev) ). Далее, возникла необходимость собрать в .deb пакет приложение для загрузки на PPA. Сейчас есть две версии приложения: одна с собранными библиотеками opencv через cmake, другая - с библиотеками libopencv-dev. По первому варианту, не совсем понятно, как добавить в зависимости приложения собранные Cmake-ом библиотеки. (По принципу, как в Windows - просто добавить DLL в директорию с проектом, я так понимаю, работать не будет). По второму варианту - при статической линковке, линкер ругается на отсутствующие .so файлы (на x11).
.pro файл, из которого затем генерируется Makefile. Почему не использовался CMakeLists.txt, отвечу, что пока что трудности с синтаксисом CMake.
CONFIG(release){
#LIBS += /home/ubuntu/Software/opencv/opencv-release/lib/libopencv_core.so.2.4.9
#LIBS += /home/ubuntu/Software/opencv/opencv-release/lib/libopencv_imgproc.so.2.4.9
#LIBS += /home/ubuntu/Software/opencv/opencv-release/lib/libopencv_highgui.so.2.4.9
LIBS += -L/usr/lib/x86_64-linux-gnu/libopencv_core.a
LIBS += -L/usr/lib/x86_64-linux-gnu/libopencv_imgproc.a
LIBS += -L/usr/lib/x86_64-linux-gnu/libopencv_highgui.a
LIBS += -L/usr/lib/x86_64-linux-gnu/libgstreamer-0.10.a
LIBS += -L/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
LIBS += -L/usr/lib/x86_64-linux-gnu/libXxf86vm.a
LIBS += -L/usr/lib/x86_64-linux-gnu/libv4l2.a
LIBS += -L/usr/lib/x86_64-linux-gnu/libv4l1.a
}
QMAKE_LFLAGS += -lXxf86vm -lXext -lX11 -lXext
- ошибка: mainwindow.o: undefined reference to symbol 'XOpenDisplay'
- /usr/lib/x86_64-linux-gnu/libX11.so:-1: ошибка: error adding symbols: DSO missing from command line
- :-1: ошибка: collect2: error: ld returned 1 exit status
Поскольку это мой первый более-менее серьезный проект под Linux, прошу отнестись с пониманием.