como compilar a pelo un .c?

Buenas, hay un programa q necesito para grabar dvds llamado growisofs y la version q me pide el k3b solo la encuentro en .c
Que tengo q poner en la linea de comandos para poder compilar eso y hacer el ejecutable?
Yap, eso estaba superado pero no me aclara nada Ferdy. Amplio mi pregunta, el compilador me dice esto:
root@kur taty # gcc growisofs.c
/tmp/ccxZPw4W.o(.text+0x4b4): En la función `setup_fds':
: undefined reference to `get_mmc_profile'
/tmp/ccxZPw4W.o(.text+0x707): En la función `setup_C_parm':
: undefined reference to `plusminus_r_C_parm'
/tmp/ccxZPw4W.o(.text+0x8bc): En la función `builtin_dd':
: undefined reference to `get_capacity'
/tmp/ccxZPw4W.o(.text+0x1134): En la función `builtin_dd':
: undefined reference to `poor_mans_setup'
/tmp/ccxZPw4W.o(.text+0x187e): En la función `main':
: undefined reference to `fumount'
/tmp/ccxZPw4W.o(.text+0x1916): En la función `main':
: undefined reference to `media_reload'
/tmp/ccxZPw4W.o(.text+0x3083): En la función `main':
: undefined reference to `poor_man_rewritable'
collect2: ld devolvió el estado de salida 1

me he leido el man pero no me aclara nada [chiu]
Que parametros son necesarios añadirle al compilador para q compile?
Prueba
$gcc nombredelarchivo.c -o nombredelejecutale
Escrito originalmente por El_senor_oscuro
Prueba
$gcc nombredelarchivo.c -o nombredelejecutale


Si no se especifica el -o nombreejecutable, este tendra el nombre de a.out. Ese no es el problema. Yo lo que creo es que tiene un problema de dependencias. Tal vez no te encuentre determinadas librerias, tendras que hechar mano del README del programa

Saludos
Nada, da la misma salida. He estado mirando un poco el comienzo del codigo y veo q tiene un monton de includes, yo trato de compilarlo desde el home de mi usuario, esos ficheros q estan en el include tengo q meterlos tb dentro del home? yo creo q me los pillara de los src de linux no?
Raharu el problema es q no trae nada, ni readmes ni nada. Buendo dejadlo, no os comais mas el tarro. Gracias a todos!!
Esperaremos q e el portage actualice su dvd+rw-tools con la version nueva del growisofs :P
Saludetes
Los "undefined reference" tienen toda la pinta de ser falta de liberías, según como estén puestos en el código igual te sale más a cuenta llevarte una copia de las librerías a un directorio único dentro del /home, junto con el fuente y compilarlo todo.
Vamos a ver al hacer gcc nombre del programa has hecho una compilacion del programa y esta te da errores (¿no encuentra funciones o librerias?), por eso no te crea el ejecutable.

Puede ke el problema sea ke llamas a funciones ke todavia no has definido(las defines mas abajo en el codigo). Posible solucion a esto_>Cortar pegar funciones mas abajo, mas arriba segun te haga falta,... o definir las cabeceras de las funciones abajo de los includes(p.ej.- #include) asi declararias estas funciones como globales(supondre que sabras la diferencia entre funciones globales y no globales)....
Supongo que tu problema ira por ahi, estos problemas se solucionan con la practica.

A lo mejor en otro compilador p.ej.- devcpp (en windows) no te daba estos errores, pero ten en cuenta ke los compiladores no son todos iguales,... y unos son mas estrictos ke otros , tambien depende de la version del gcc...
Es probable que necesites especificar librerías para enlazar con el parámetro -l

Salu2.Ferdy
8 respuestas