【发布时间】:2014-05-10 11:35:52
【问题描述】:
一个星期以来我一直在处理这个错误,但我没有任何解决方案......
Linux - Qt Creator 5.2
我正在尝试在使用 Oculus Rift 库的 Qt 上制作程序,但尽管可以在 Qt 创建器上链接库,但不幸的是,我总是发现同样的错误。
我已经尝试了 3 种不同的方法来实现它,你可以在这里看到:
-直接链接到路径(方式2)
-使用 QtCreator 静态编译库并将输出链接到我的项目(方式 1)
-Qt Creator -> 项目(右键单击)-> 添加库 -> 库路径(方式 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 toOVR::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 toOVR::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
Visual Studio 2013 和 Qt 插件 VS2013
完全相同的错误:S
【问题讨论】:
-
好吧,你没有显示代码,但是缺少析构函数的定义?此外,最后一行未完成。
-
@Nazar554:他在 Linux 上使用 QtCreator!
标签: c++ linux visual-studio qt oculus