QsciScintilla基础
QsciScintilla 基础
QsciScintilla 的学习记录。
Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。
1 下载和编译
1.1 下载
1.2 编译
直接打开 QScintilla_src-<version>/src 下的 .pro 文件编译。
在输出路径会生成对应的库目录, windows 下是 qscintilla<version>_qt<version>.lib 、 qscintilla<version>_qt<version>.dll。
1.3 MSVC 调用报错
先是使用 MinGW ,正常编译通过,但是换到 MSVC ,出现报错
mocs_compilation_Release.obj : error LNK2001: 无法解析的外部符号 "public: static struct QMetaObject const QsciScintilla::staticM
etaObject" (?staticMetaObject@QsciScintilla@@2UQMetaObject@@B) [E:\repos\Project\build\Project.vcxproj]
E:\repos\Project\build\Release\Project.exe : fatal error LNK1120: 1 个无法解析的外部命令 [E:\repos\Project\build\Project.vcxproj]
解决
需要添加指令 QSCINTILLA_DLL
cmakelists.txt 添加 add_definitions(-DQSCINTILLA_DLL)
.pro 添加 DEFINES += QSCINTILLA_DLL
继承的类,用做第三方库提供给其他程序调用,需要添加 QSCINTILLA_EXPORT
class QSCINTILLA_EXPORT QsciLexerDMIS : public QsciLexer

浙公网安备 33010602011771号