c++ - 将 Qscintilla 库添加到 Qt Problems

标签 c++ qt qmake qscintilla

我正在尝试添加 Qscintilla有了这个tutorial到我的 Qt 项目。该库已成功安装,但类上有很多 undefined reference (例如,未定义对“QsciScintilla::QsciScintilla(QWidget*)”的引用或对“QsciScintilla::SetFont(QFont const&)”的 undefined reference )

这是我的 .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

最佳答案

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

LIBS += -lqscintilla2

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

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


编辑后:那么如果缺少实际的库文件,你应该确保

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

关于c++ - 将 Qscintilla 库添加到 Qt Problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40389285/

相关文章:

c++ - windbg coredump分析地址带 "bad"

c++ - 二叉树中的最小路径和

linux - Qmake - 不在 Linux 中复制文件

qt - qmake:如何将 .dll/.so 复制到输出目录?

C++多态克隆: How to obtain a Derived pointer from a Base pointer?

c++ - 什么是 "= delete"?

c++ - 通过 Qt 中的 QDataWidgetMapper 将单选按钮连接到 QSqlTableModel

c++ - Qt 自定义控件大小

qt - 如何扩大 QGraphicsItem 的悬停区域

c++ - 使用 VS2012 编译库时符号名称无效