开发环境:使用QScintilla_gpl-2.10和Qt5.5.0和MSVC2012编译器
自定义继承自QSciScintilla的类,出现使用VS的MSVC编译器编译失败的问题
解决方案:
将工程改为使用MinGW编译器编译,则不会出现上述问题
继承子QsciLexer的类,在调用时编译失败的问题
对于如下错误:
error LNK2001: 无法解析的外部符号 "public: static struct QMetaObject const QsciScintilla::staticMetaObject" (?staticMetaObject@QsciScintilla@@2UQMetaObject@@B)
解决方案如下:
在Qt的工程文件pro中添加:
DEFINES += QSCINTILLA_DLL
执行qmake,清理项目,重新构建,即可解决MSVC版本不能编译的问题
好的,大功告成,开始撸代码吧!!!
继承的类,用做第三方库提供给其他程序调用,需要添加QSCINTILLA_EXPORT
class QSCINTILLA_EXPORT QsciLexerDMIS : public QsciLexer