Como criar GUIs (como o menuconfig) com o lxdialog

5

Eu tento gerar um menuconfig sozinho com a ajuda de lxdialog (fonte: lxdialog ). Infelizmente isso não está tão bem documentado como eu desejava. Exemplo:

Então, o que fiz : incluí esses arquivos (consulte o código-fonte) em um projeto novo / vazio e não fiz mais nada. Como parece que esta é a fonte de lxdialog , tentei uma imagem rápida importando facilmente.Eu preciso usar uma GUI, que é baseada em .c , pois preciso dos valores de retorno em um C/C++ program - é por isso que não consigo usar o muito mais fácil de desenvolver dialog . Eu não quero gastar muito tempo na programação de uma nova GUI e é por isso que acho que lxdialog atende às minhas necessidades.

O erro: recebo muitos erros com a mensagem Type XYZ could not be resolved . Eu atualizei o Indexador várias vezes e até excluí todos os .c da construção, mas sem sucesso. Eu já verifiquei toda a biblioteca para as palavras-chave não resolvidas, mas parece que os lugares de onde esses erros vêm, é o lugar da primeira ocorrência da palavra-chave.

Algumas das mensagens:

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

Minha pergunta é : obviamente estou fazendo algo errado. Eu incluí para menos arquivos no meu projeto ou estou perdendo as bibliotecas do sistema?

Alguém sabe de um tutorial para entrar no lxdialog ou pelo menos saber como resolver esses erros?

Obrigado pelo seu apoio

Atenciosamente

    
por user3085931 25.07.2014 / 15:32

2 respostas

5

Você está, provavelmente, abusando do lxdialog. Isso deve ser usado apenas junto com todas as outras coisas de configuração.

Se você realmente precisa de uma ferramenta de configuração para ser usada em tempo de compilação (ex: " make menuconfig && make all "), você encontrará documentação para fazer kconfig funcionar no diretório kernel/Documentation/kconfig (e outros lugares, mas Você precisa procurar kconfig , não lxdialog !).

Se você precisar de uma interface de diálogo genérica (por exemplo: como encontrado em vários configuradores do Debian), seria muito melhor usar o dialog disponível em todas as principais distribuições. Você encontrará muita documentação para dialog (inclusive em " link ").

    
por 27.08.2015 / 13:40
0

Descobri como remover todos os erros : As palavras-chave não resolvidas são porque o curses.h não está incluído, logo no início do dialog.h há um bloco de código, que deve ser editado desta forma:

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

Além disso, o projeto precisa ser compilado com curses . Se o Eclipse foi usado, em:

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

simplesmente digite curses para o Libraries (-l) . Em um makefile comum, isso seria um g++ [...] -lcurses

De qualquer forma :

Agora, o lxdialog está pronto para usar. Ainda estou procurando por alguma documentação ou tutoriais.

O AFAI analisou o código não é tão genérico quanto eu gostaria que fosse, quando se trata de preencher os menus com o próprio texto / entradas / submenus / escolhas. É muito focado em ler apenas kconfig arquivos.

    
por 07.08.2014 / 07:39