将Qscintilla库添加到Qt问题

时间:2016-11-02 20:33:43

标签: c++ qt qmake qscintilla

我试图将此Qscintilla tutorial添加到我的Qt项目中。该库已成功安装,但在类上有许多未定义的引用(未定义引用' QsciScintilla :: QsciScintilla(QWidget *)'或未定义引用' QsciScintilla :: SetFont(QFont const& )'例如)

这是我的.pro文件:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = QscintillaTest
TEMPLATE = app


SOURCES += main.cpp\
    mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/./QScintilla/Qt4Qt5/release/ -lqscintilla2
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./QScintilla/Qt4Qt5/debug/ -lqscintilla2
else:unix: LIBS += -L$$PWD/./QScintilla/Qt4Qt5/ -lqscintilla2
INCLUDEPATH += $$PWD/./QScintilla/Qt4Qt5/
DEPENDPATH += $$PWD/./QScintilla/Qt4Qt5/

我希望有人能帮助我。

编辑: 添加-lqscintilla2后,我收到此错误:

Cannot find -lqscintilla2

1 个答案:

答案 0 :(得分:0)

您的.pro文件缺少此内容:

LIBS += -lqscintilla2

您在链接到...的教程中也提到了这一点。

-L您现在只将目录添加到库搜索路径,但它本身不会导致添加任何新库。你基本上从来没有单独使用-L,因为它并不真正任何事情(在正常的工具链设置中)。 -l开关用于告知实际库添加到链接,然后链接器搜索它具有的库路径。因此,如果您在自己的目录中有库,则需要两个开关。

编辑后:如果缺少实际的库文件,则应确保

  • 你实际上是在建造它。
  • 您已构建了正确的调试/发布版本,或者可能都是。
  • 构建的库位于预期的目录中,与应用程序 .pro 文件中的内容相匹配。