Ошибка компоновки — Oculus Rift Libs на Qt и VS2013 (Linux — Windows)

Я нахожусь на этой ошибке с недели, и у меня нет никаких решений …

Linux — Qt Creator 5.2

Я пытаюсь создать программу на Qt, которая использует библиотеки Oculus Rift, но, несмотря на все возможности связать библиотеку на Qt creator, я всегда нахожу одну и ту же ошибку, к сожалению.

Я попробовал 3 различных способа реализовать это, как вы можете видеть здесь:

Прямая ссылка на путь (Способ 2)

Скомпилируйте библиотеку в статическом режиме с помощью QtCreator и свяжите вывод с моим проектом. (Способ 1)

Qt Creator -> Project (правый клик) -> Add Library -> Path to the Lib (Способ 3)

Это мой .pro файл

QT       += core
QT       -= gui
TARGET = TestOVR3
CONFIG   += console
CONFIG   -= app_bundle
CONFIG += link_pkgconfig
PKGCONFIG += opencv
PKGCONFIG += x11
TEMPLATE = app

# Input Include
INCLUDEPATH += /home/why/Documents/OculusSDK/LibOVR/Include/

# Input Lib - Way 1
#LIBS+=  -L /home/why/Documents/Test/OVRLib/build-OVRLib-Desktop-Debug -lOVRLib

# Input Lib - Way 2
LIBS += -L /home/why/Documents/OculusSDK/LibOVR/Lib/Linux/Debug/x86_64/libovr.a

SOURCES += main.cpp

HEADERS += \
Headers.h

# Input Lib - Way 3
#unix:!macx: LIBS += -L$$PWD/../../OculusSDK/LibOVR/Lib/Linux/Debug/x86_64/ -lovr

#INCLUDEPATH += $$PWD/../../OculusSDK/LibOVR/Lib/Linux/Debug/x86_64
#DEPENDPATH += $$PWD/../../OculusSDK/LibOVR/Lib/Linux/Debug/x86_64

#unix:!macx: PRE_TARGETDEPS += $$PWD/../../OculusSDK/LibOVR/Lib/Linux/Debug/x86_64/libovr.a

ошибка

Я не копировал все, но это дает вам представление. Основной файл состоит из базового учебника из учебника, доступного по адресу: https://developer.oculusvr.com/

main.o: In function `Clear()':

/home/why/Documents/Test/build-TestOVR3-Desktop-Debug/../TestOVR3/main.cpp:49: неопределенная ссылка на OVR::SensorFusion::~SensorFusion()'
/home/why/Documents/Test/build-TestOVR3-Desktop-Debug/../TestOVR3/main.cpp:51: undefined reference to
ОВР :: System :: Destroy ()»
main.o: в функции OVR::Allocator::GetInstance()':
/home/why/Documents/Test/build-TestOVR3-Desktop-Debug/../../OculusSDK/LibOVR/Include/../Src/Kernel/OVR_Allocator.h:216: undefined reference to
ОВР :: Allocator :: pInstance»
main.o: В функции `OVR :: Log :: ConfigureDefaultLog (unsigned int) ‘:
/home/why/Documents/Test/build-TestOVR3-Desktop-Debug/../../OculusSDK/LibOVR/Include/../Src/Kernel/OVR_Log.h:159: неопределенная ссылка на

У кого-нибудь есть идея? : S

Визуальная студия 2013 & Надстройка Qt VS2013

Точно такие же ошибки: S

1

Решение

Я считаю, что ваша проблема проистекает из линии

LIBS += -L /home/why/Documents/OculusSDK/LibOVR/Lib/Linux/Debug/x86_64/libovr.a

Опция -L (заглавная) указывает каталог для поиска библиотек. Вам нужно указать каталог для поиска libovr.a, а не саму статическую библиотеку. Затем вы добавите опцию -l, в этом случае -lovr указать библиотеку для использования.

Так что в основном вам нужно изменить эту строку на

LIBS += -L /home/why/Documents/OculusSDK/LibOVR/Lib/Linux/Debug/x86_64/

а затем добавить куда-нибудь (потому что я не знаком с форматом make-файлов)

-lovr

Это может быть немного поздно, но у меня вчера была эта проблема, и я решил опубликовать.

0

Другие решения


По вопросам рекламы [email protected]