QsciScintilla基础

QsciScintilla 基础

QsciScintilla 的学习记录。

Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。

1 下载和编译

1.1 下载

QsciScintilla Download

1.2 编译

直接打开 QScintilla_src-<version>/src 下的 .pro 文件编译。

在输出路径会生成对应的库目录, windows 下是 qscintilla<version>_qt<version>.libqscintilla<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

参考

https://blog.csdn.net/Johnable/article/details/102747754

posted @ 2025-01-13 15:12  ReRound  阅读(106)  评论(0)    收藏  举报