C++ 将qscintula库添加到Qt问题

C++ 将qscintula库添加到Qt问题,c++,qt,qmake,qscintilla,C++,Qt,Qmake,Qscintilla,我正试图将其添加到我的Qt项目中。该库已成功安装,但类上有许多未定义的引用(例如,未定义对“qscistintula::qscistintula(QWidget*)”的引用或未定义对“qscistintula::SetFont(QFont const&)”的引用) 这是我的.pro文件: QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = QscintillaTest TEMPLATE =

我正试图将其添加到我的Qt项目中。该库已成功安装,但类上有许多未定义的引用(例如,未定义对“qscistintula::qscistintula(QWidget*)”的引用或未定义对“qscistintula::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/
我希望有人能帮助我

编辑: 添加
-lqscintra2
后,我得到以下错误:

Cannot find -lqscintilla2

您的.pro文件缺少以下内容:

LIBS += -lqscintilla2
您链接到的教程中也提到了这一点

您现在拥有的
-L
仅将目录添加到库搜索路径,但它本身不会导致添加任何新库。基本上,您永远不会只使用
-L
,因为它不会单独执行任何操作(在正常的工具链设置中)。
-l
开关用于告诉实际库添加到链接中,然后链接器搜索它拥有的库路径。所以,如果您在自己的目录中有库,则需要两个开关


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

  • 你实际上已经建造了它
  • 您已经构建了正确的调试/发布版本,或者两者都有
  • 生成的库位于预期目录中,与application.pro文件中的内容匹配

mmm,好吧,我知道-L attribute是如何工作的,但是当我像教程一样添加“-lqscintila2”时,我得到了另一个错误:“connt find-lqscintila2”。那么,您需要查看实际的link命令以及使用
-L
添加到其中的目录。这是否包括包含您的
qscintila2.dll
libqscintila2.so
(取决于操作系统)的目录?通常,您不应该在有人回答后展开/更改问题(因为这会使答案无效),但在这种情况下,可以继续编辑问题以使用此修复更新.pro文件,然后包括实际的link命令,它给出了错误(当前唯一的答案是我的,在这种情况下我不介意)。好的,你可以看到我是新的哈哈,谢谢你的建议,我编辑了这个问题。因此,我在目录中没有任何
qscintila2.dll
libqscintila2.So
。哦,更准确地说,我在linux上(fedora 24)@m.Duchemin那么,你可能忘了构建qscintula库了吗?:)