C++ 链接错误-Qt和VS2013(Linux-Windows)上的Oculus Rift Libs

C++ 链接错误-Qt和VS2013(Linux-Windows)上的Oculus Rift Libs,c++,linux,visual-studio,qt,oculus,C++,Linux,Visual Studio,Qt,Oculus,一个星期以来我一直在纠结这个错误,我没有任何解决办法 Linux-Qt Creator 5.2 我试图在Qt上制作一个使用Oculus Rift libs的程序,但尽管有各种可能在Qt creator上链接一个库,但不幸的是,我总是发现同样的错误 我尝试了3种不同的方法来实现它,如您在这里看到的: -直接链接到路径(路径2) -使用QtCreator以静态方式编译库,并将输出链接到我的项目(方式1) -Qt创建者->项目(右键单击)->添加库->库路径(方式3) 这是我的.pro文件 QT

一个星期以来我一直在纠结这个错误,我没有任何解决办法

Linux-Qt Creator 5.2

我试图在Qt上制作一个使用Oculus Rift libs的程序,但尽管有各种可能在Qt creator上链接一个库,但不幸的是,我总是发现同样的错误

我尝试了3种不同的方法来实现它,如您在这里看到的:

-直接链接到路径(路径2)

-使用QtCreator以静态方式编译库,并将输出链接到我的项目(方式1)

-Qt创建者->项目(右键单击)->添加库->库路径(方式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
错误

我没有抄袭过去的一切,但它给了你一个想法。主文件由教程中的基本教程组成,教程位于:

/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:对
OVR::System::Destroy()的未定义引用 main.o:在函数
OVR::Allocator::GetInstance()中:
/home/why/Documents/Test/build-TestOVR3-Desktop-Debug/../../../OculusSDK/LibOVR/Include/../Src/Kernel/OVR_分配器。h:216:未定义对
OVR::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:未定义对

有人有主意吗

Visual studio 2013和Qt插件VS2013


完全相同的错误:我相信你的问题源于这一行

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/

然后添加到某个地方(因为我不熟悉makefile的格式)

-lovr


可能有点晚了,但我昨天刚刚遇到这个问题,我想我应该发布。

好吧,您没有显示代码,但缺少析构函数的定义?还有,最后一行没有完成。@Nazar554:他正在Linux上使用QtCreator!
main.o: In function `Clear()':