切换到 Lexilla
Posted
技术标签:
【中文标题】切换到 Lexilla【英文标题】:Switching to Lexilla 【发布时间】:2020-12-24 12:28:39 【问题描述】:我正在尝试将我的代码切换到在 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 undefined
和CreateLexer is undefined
。我正在尝试找到合适的头文件和静态库来添加到我的代码和编译器开关列表中。请帮忙。
我当前的GCC
开关包括:
~/scintilla/bin/scintilla.a -DGTK -DSCI_LEXER -lstdc++ -I~/scintilla/include
注意我使用的是 C 而不是 C++。
【问题讨论】:
Scintilla 5 文档说 lexilla 库现在是一个单独的库,您是否构建了它并将其包含在 scintilla.a 中?如果没有,您应该构建 lexilla 并将其也包含在构建中。 问题是include
中没有Lexilla.h
。 src
中有这样的文件,但它只是 C++。
【参考方案1】:
Lexilla.h
is now in the lexilla
repository.As of February it has #ifdef __cplusplus
guards,所以它似乎也支持 C。
如果您仍然遇到问题,我建议您粘贴确切的错误消息。
【讨论】:
以上是关于切换到 Lexilla的主要内容,如果未能解决你的问题,请参考以下文章