SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: ferf en Viernes 9 de Enero de 2004, 09:54

Título: Problema Con "const Struct Option Long_options[]"
Publicado por: ferf en Viernes 9 de Enero de 2004, 09:54
Hola, un saludo para todos, mi problema es el siguiente: tengo que controlar los argumentos de entrada de un programa en Unix, lo estoy haciendo con getopt_long y al definir la estructura para los nombres de las opciones long_options me da unos errores de compilación que no se solucionar. He buscado información relativa a esta funcion y me dice que tengo que declarar una estructura de este tipo

const struct option long_options[] = {
{ “help”, 0, NULL, ‘h’ },
{ “output”, 1, NULL, ‘o’ },
{ “verbose”, 0, NULL, ‘v’ },
{ NULL, 0, NULL, 0 }
};

pero lo intento compilar y me falla. Que puede ser??
Un saludo y gracias!
Título: Re: Problema Con "const Struct Option Long_options[]"
Publicado por: mabrev en Viernes 9 de Enero de 2004, 11:02
Hola:

  Sería de gran ayuda el mensaje de error del compilador, más que nada por tener una orientación.

Saludos.
Título: Re: Problema Con "const Struct Option Long_options[]"
Publicado por: ferf en Viernes 9 de Enero de 2004, 11:20
Aqui los tienes:

arg.cpp: In function `int main(int, char **)':
arg.cpp:26: elements of array `const struct option long_options[]' have incomplete type
arg.cpp:37: uninitialized const `long_options'
arg.cpp:37: array size missing in `long_options'
arg.cpp:37: storage size of `long_options' isn't known
arg.cpp:42: confused by earlier errors, bailing out


Un Saludo!!
Título: Re: Problema Con "const Struct Option Long_options[]"
Publicado por: mabrev en Viernes 9 de Enero de 2004, 13:00
Hola:

  Has probado a cambiar el array sin límites por un puntero, es decir, en vez de utilizar [] en la línea:
const struct option long_options[] =
puede hacerse:
const struct option *long_options =
a ver si así se elimina algún error.

Espero que te sirva de ayuda.

Saludos
Título: Re: Problema Con "const Struct Option Long_options[]"
Publicado por: chuidiang en Lunes 12 de Enero de 2004, 09:55
A mi este mini-programa en C++ me compila bien

Código: Text
  1. struct option
  2. {
  3.    char *kk;
  4.    int a;
  5. };
  6.  
  7. main()
  8. {
  9.    const struct option cosa [] = {
  10.       {"help", 0},
  11.       {"output", 1} };
  12. }
  13.  

Lo único que se me ocurre es que revises un poco el código. Puedes partir de un ejemplo simple como este, ver si te compila, e ir modificandolo pcco a poco hasta convertirlo en tu codigo, para ver exactamente dónde está el fallo.

Se bueno.
Título: Re: Problema Con "const Struct Option Long_options[]"
Publicado por: ferf en Lunes 12 de Enero de 2004, 10:36
Gracias a los 2 por vuestra ayuda, la verdad es que mi código estaba bien, lo que pasa es que estaba compilando en una máquina SOLARIS y no tenia instalada esta librería. Podía haberme pegado toda la vida probando y probando y no me hubiera funcionado.

La solución ha sido tan facil como copiarme la librería a mi directorio y punto.
Un saludo a ambos!!