如何使用 lxdialog 创建 GUI(例如 menuconfig)

如何使用 lxdialog 创建 GUI(例如 menuconfig)

我尝试在 lxdialog 的帮助下自己生成菜单配置(来源:对话窗口)。不幸的是,这并没有像我希望的那样得到很好的记录。例子:

菜单配置示例

所以我做了什么:我将这些文件(参见源代码)包含到一个新的/空的项目中,并且没有执行其他任何操作。看来这就是来源lxdialog尝试通过轻松导入进行快速拍摄。我需要使用 GUI,这是基于.c因为我需要程序中的返回值C/C++- 这就是为什么我不能使用更容易开发的dialog.我不想花太多时间来编写新的 GUI,这就是为什么我认为它lxdialog符合我的需求。

错误:我收到的消息有很多错误Type XYZ could not be resolved。我多次刷新索引器,甚至.c从构建中排除所有索引器,但没有成功。我已经检查了整个库中是否有未解析的关键字,但似乎这些错误来自的地方是关键字第一次出现的地方。

一些消息:

[...]
Type 'chtype' could not be resolved dialog.h
Type 'WINDOW' could not be resolved dialog.h
[...]

我的问题是: 显然我做错了什么。我是否在项目中包含了较少的文件,或者是否缺少系统范围的库?

有谁知道进入 lxdialog 的教程或者至少知道如何解决这些错误?

感谢您的支持

亲切的问候

答案1

您很可能正在滥用 lxdialog。这应该只与所有其他配置内容一起使用。

如果您确实需要在编译时使用配置工具(即:“ ”),那么您将在目录(和其他地方,但您需要搜索,而不是!)中make menuconfig && make all找到kconfig为您工作的文档。kernel/Documentation/kconfigkconfiglxdialog

如果您需要一个通用的对话框界面(例如:在各种 debian 配置器中找到),那么您最好使用dialog所有主要发行版中可用的普通对话框界面。您会找到很多文档dialog(包括在“http://invisible-island.net/dialog/dialog.html”)。

答案2

我找到了如何消除所有错误:未解析的关键字是因为不包含curses.h,在最开始dialog.h有一个代码块,应该这样编辑:

#ifdef __sun__
#define CURS_MACROS
#endif
#include <curses.h>

此外,该项目需要使用curses.如果使用 Eclipse,则:

Project Settings -> 
C/C++ Build      ->
Settings GCC     -> 
C++ Linker       -> 
Libraries

只需curses键入Libraries (-l).在普通的 makefile 中,这将是g++ [...] -lcurses

反正:

现在,lxdialog 已经可以使用了,我仍在寻找一些文档或教程。

AFAI 研究了代码,当涉及到用自己的文本/条目/子菜单/选项填充菜单时,它并不像我希望的那样通用。它主要专注于仅读取kconfig文件。

相关内容