Подготовка Qt Creator к работе с OpenNI

131
20 июня 2019, 06:30

Мне нужна ваша, сообщество помощь в настройке Qt Creator для написания программы, которая будет работать с фреймворком OpenNI (https://structure.io/openni)

Далее, я создаю проект QT и в рабочую папку помещаю Include и Redist фреймворка. Добавляю в проект QT "Добавить существующие папки" где указываю Include и Redist. В дальнейшем, согласно инструкции по настройке (которая поставляется с исходниками), прописываю в .pro файле путь до Include и библиотек. Полный листинг .pro:

#-------------------------------------------------
#
# Project created by QtCreator 2018-12-15T17:36:25
#
#-------------------------------------------------
QT       += core gui
LIBS += -L /home/denis/QtProj/Oni-player/Redist -l libOpenNI2
INCLUDEPATH += -l /home/denis/QtProj/Oni-player/Include
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Oni-player
TEMPLATE = app
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
CONFIG += c++14
SOURCES += \
        main.cpp \
        mainwindow.cpp
HEADERS += \
        mainwindow.h \
    Include/Android-Arm/OniPlatformAndroid-Arm.h \
    Include/Driver/OniDriverAPI.h \
    Include/Driver/OniDriverTypes.h \
    Include/Linux-Arm/OniPlatformLinux-Arm.h \
    Include/Linux-x86/OniPlatformLinux-x86.h \
    Include/MacOSX/OniPlatformMacOSX.h \
    Include/Win32/OniPlatformWin32.h \
    Include/OniCAPI.h \
    Include/OniCEnums.h \
    Include/OniCProperties.h \
    Include/OniCTypes.h \
    Include/OniEnums.h \
    Include/OniPlatform.h \
    Include/OniProperties.h \
    Include/OniVersion.h \
    Include/OpenNI.h \
    Include/PrimeSense.h \
    Include/PS1080.h \
    Include/PSLink.h
FORMS += \
        mainwindow.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
DISTFILES += \
    Redist/org.openni.jar \
    Redist/OpenNI2/Drivers/libOniFile.so \
    Redist/OpenNI2/Drivers/libPS1080.so \
    Redist/OpenNI2/Drivers/libPSLink.so \
    Redist/libOpenNI2.jni.so \
    Redist/libOpenNI2.so \
    Include/DEADJOE \
    Redist/OpenNI2/Drivers/PS1080.ini \
    Redist/OpenNI2/Drivers/PSLink.ini \
    Redist/OpenNI.ini

Далее, пишу простой код:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "Include/OpenNI.h"
#include <iostream>
using namespace std;
using namespace openni;
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::on_pushButton_clicked()
{
    cout << OpenNI::getVersion().major;
}

В начале процесса сборки, я конечно же получаю ошибки:

:-1: ошибка: cannot find -llibOpenNI2

После того, как я в .pro комментирую эту строку, то получаю:

:-1: ошибка: mainwindow.o: in function `openni::OpenNI::getVersion()':
/QtProj/Oni-player/Include/OpenNI.h:2116: ошибка: undefined reference to `oniGetVersion'
:-1: ошибка: collect2: error: ld returned 1 exit status

Как я правильно понимаю, я не правильно настраиваю окружение на работу. Мне нужна ваша помощь в настройке.

READ ALSO
Где сейчас активно используется с++? [закрыт]

Где сейчас активно используется с++? [закрыт]

Изучив основные структуры данных и базовые алгоритмы и испытав их на практике, столкнулся с проблемой - куда двигаться дальшеХочется узнать...

105
Не считывает .txt c++ [закрыт]

Не считывает .txt c++ [закрыт]

C++17 - VisualStudio 2017 Хотел написать свою программу, чтобы попрактиковатьсяСуть программы в том, чтобы взять имена файлов в папке(через регулярку),...

106
Сортировка четных и нечетных элементов c++

Сортировка четных и нечетных элементов c++

Есть задача: В одномерном массиве, состоящем из n вещественных элементов, вычислить:

336
Можно ли объявить функцию main как noexcept?

Можно ли объявить функцию main как noexcept?

Можно ли объявить функцию main как noexcept?

133