切换到 Lexilla

Switching to Lexilla

我正在尝试将我的代码切换为一种在 Scintilla 中处理词法分析器的新方法。

这是以前版本的 Scintilla 中的旧方法:

scintilla_send_message(widget, SCI_SETLEXER, SCLEX_CPP, 0); 

从 4.4 版本开始,我必须用新的方法来做。通过阅读文档,我相信它是这样的:

ILexer5 *lexer = CreateLexer("cpp");
scintilla_send_message(widget, SCI_SETILEXER, 0, lexer); 

但我开始 ILexer5 is undefinedCreateLexer is undefined。我正在尝试找到合适的 headers 和静态库以添加到我的代码和编译器开关列表中。请帮忙。

我当前的 GCC 开关包括:

~/scintilla/bin/scintilla.a -DGTK -DSCI_LEXER -lstdc++ -I~/scintilla/include

注意我使用的是 C 而不是 C++。

Lexilla.h is now in the lexilla repository.
As of February it has #ifdef __cplusplus guards,所以它似乎也支持 C。

如果您仍然遇到问题,我建议您粘贴确切的错误消息。