我正在编写简单的2D游戏,我必须在qt中做一些事情。游戏运行良好,它是在2015年写的,现在我把它移到了qt创建者。
有opengl小部件来显示图形。我在.pro文件中添加了东西,我可以使用opengl函数,除了gluLookAt(用于计时器函数cscenaqt),我得到错误:
cscenaqt.obj:-1: błąd: LNK2019: unresolved external symbol gluLookAt referenced in function "protected: virtual void __cdecl cScenaQt::timerEvent(class QTimerEvent *)" (?timerEvent@cScenaQt@@MEAAXPEAVQTimerEvent@@@Z)
这是opengl小部件文件
#ifndef CSCENAQT_H
#define CSCENAQT_H
#include <QWidget>
#include <QGLWidget>
class cScenaQt : public QGLWidget
{
Q_OBJECT // must include this if you use Qt signals/slots
public:
cScenaQt(QWidget *parent);
protected:
void initializeGL();
void resizeGL(int w, int h);
void paintGL();
void mouseMoveEvent(QMouseEvent * event);
void keyPressEvent(QKeyEvent* e);
void timerEvent(QTimerEvent *event);
private:
float m_x,m_y;
int m_timer_id;
};
#endif // CSCENAQT_H
这是.pro文件
#-------------------------------------------------
#
# Project created by QtCreator 2016-05-25T04:49:19
#
#-------------------------------------------------
QT += core gui opengl
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = openglqt
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
cscenaqt.cpp \
bielan_przeszkoda_1.cpp \
boss.cpp \
czlowiek.cpp \
figura.cpp \
figury.cpp \
fizyka.cpp \
funckje.cpp \
gnom.cpp \
gracz.cpp \
pawlak_slupki.cpp \
pawlak_wieze.cpp \
pawlak_winda.cpp \
przeszkoda.cpp \
wrobel_dzialo.cpp \
wrobel_gate.cpp \
wrobel_kolec.cpp \
wrobel_most.cpp \
wrobel_przepasc.cpp \
wrobel_przeszkoda_1.cpp
HEADERS += mainwindow.h \
cscenaqt.h \
bielan_przeszkoda_1.h \
boss.h \
czlowiek.h \
figura.h \
figury.h \
fizyka.h \
funckje.h \
gnom.h \
gracz.h \
pawlak_slupki.h \
pawlak_wieze.h \
pawlak_winda.h \
przeszkoda.h \
wrobel_dzialo.h \
wrobel_gate.h \
wrobel_kolec.h \
wrobel_most.h \
wrobel_przepasc.h \
wrobel_przeszkoda_1.h
FORMS += mainwindow.ui
LIBS += opengl32.lib
我如何解决这个问题并且有一些方法允许用户在qt中使用多个密钥(我知道在opengl中可以使用glkeyupfun和keydown,像这样的smth)?