Ich versuche mit einem Tiefensensor (PMD Camboard) zu arbeiten und versuche das aufgenommene Tiefenbild als Livestream darzustellen. Ich kann die Daten vom Sensor gut bekommen. Das Problem beginnt, sobald ich versuche, die OpenCV-Teile einzubauen. Einzeln funktionieren sie perfekt, aber das Problem beginnt, sobald ich versuche, sie zu integrieren. Ich denke, der Fehler liegt bei der CMakeLists.txt, denn selbst wenn ich versuche, ein einfaches Programm zu kompilieren, das nur den Webcam-Feed anzeigt, ohne den Tiefensensor, bekomme ich den gleichen Fehler. Das genannte Programm funktioniert, wenn ich versuche es mit nur dem CMake für openCV zu kompilieren.OpenCV Qt undefined Referenzfehler beim Kompilieren
EDIT: Ich habe versucht, systematisch Teile der CMake Deaktivierung zu sehen, welche Teile genau den Fehler auszulösen und gefunden, dass die Zeile:
link_directories(${royale_LIB_DIR})
derjenige ist, der den Fehler verursacht.
ich die folgenden Fehler, wenn ich versuche zu kompilieren:
/usr/local/lib/libopencv_highgui.so.3.1.0: undefined reference to `QWidget::isFullScreen() [email protected]_5'
/usr/local/lib/libopencv_cvv.so.3.1.0: undefined reference to `QAbstractSlider::setMinimum(int)@Qt_5'
/usr/local/lib/libopencv_highgui.so.3.1.0: undefined reference to `non-virtual thunk to QBoxLayout::minimumSize() [email protected]_5'
/usr/lib64/libQt5OpenGL.so.5: undefined reference to `QTransform::type() [email protected]_5'
/usr/local/lib/libopencv_cvv.so.3.1.0: undefined reference to `QWidget::hasHeightForWidth() [email protected]_5'
/usr/lib64/libQt5OpenGL.so.5: undefined reference to `QPen::color() [email protected]_5'
/usr/local/lib/libopencv_cvv.so.3.1.0: undefined reference to `QFrame::changeEvent(QEvent*)@Qt_5'
/usr/lib64/libQt5OpenGL.so.5: undefined reference to `QOpenGLMultiGroupSharedResource::insert(QOpenGLContext*, QOpenGLSharedResource*)@Qt_5_PRIVATE_API'
/usr/lib64/libQt5OpenGL.so.5: undefined reference to `QPaintDevice::~QPaintDevice()@Qt_5'
/usr/local/lib/libopencv_cvv.so.3.1.0: undefined reference to `QObject::QObject(QObject*)@Qt_5'
/usr/local/lib/libopencv_cvv.so.3.1.0: undefined reference to `QTabWidget::metaObject() [email protected]_5'
/usr/local/lib/libopencv_cvv.so.3.1.0: undefined reference to `QColorDialog::QColorDialog(QWidget*)@Qt_5'
/usr/local/lib/libopencv_highgui.so.3.1.0: undefined reference to `QFutureInterfaceBase::setThreadPool(QThreadPool*)@Qt_5'
/usr/lib64/libQt5OpenGL.so.5: undefined reference to
Voll Fehler bei http://pastebin.com/KLKtzzSn
Und mein CMakeLists.txt ist wie folgt:
cmake_minimum_required(VERSION 2.8)
set(CMAKE_PREFIX_PATH "share")
#project (depthDataCallBack)
project (webStream)
find_package(OpenCV REQUIRED)
find_package(royale REQUIRED)
link_directories(${royale_LIB_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc)
add_executable(webStream webStream.cpp)
target_link_libraries(webStream ${OpenCV_LIBS})
target_link_libraries(webStream "${royale_LIBS}")
Ich bin neu zu CMake, nur recently corrected. Jede Hilfe wäre willkommen.