Imagen de pilar07
0 puntos

Intento compilar una aplicación en C que dispone de makefile y Tengo un par de problemas, el primero:

 el makefile original empieza así:

CC = cc

INCLUDES = -I../common -I../ebcot_common -I../line_xform -I.

C_OPT = -O

CFLAGS = -Aa $(INCLUDES) $(C_OPT)

BIN_DIR = ../ebcot_compress/bin

ANALYSIS_OBJS = hplx_info.o hplx_vert.o hplx_hor.o (.... y continúa...)

 Si hago make, no funciona, así que como no sé qué es la opción -Aa, la elimino (me queda la 4ª linia: CFLAGS = $(INCLUDES) $(C_OPT))

Entonces al hacer make funciona.... bien, se supone que la aplicación estará en la ../carpeta ebcot_compress/bin, voy allí, veo que efectivamente hay un fichero ebcot_lite_compress.exe e intento ejecutar y me dice:

bash: ebcot_lite_compress: command not found

 

Arggg!!! Alguien sabe si esto es por culpa de haberle quitado la opción -Aa o no?

Y, es más, alguien sabe porque con -Aa no funciona? O qué hace -Aa?

Imagen de furtaxi
+1
0
-1

Cópialo a un ordenador con windows , a ver si hay suerte.

Saludos,

Roberto.

Mi página personal: www.vigonews.es

Si quieres ver la libertad, abre los ojos.

+1
0
-1

Mi web : www.vigovideo.es
Buscar es más rápido que esperar una respuesta.

Imagen de joseluis
+1
0
-1

No estoy muy seguro pero creo que los ejecutables generados con mono si tienen el .exe

En cualquier caso el error que da parece que es por no ejecutarlo indicando la ruta donde se encuentra (ya que el directorio donde ha generado el ejecutable no es ninguno de los de la variable PATH).

Por otra parte si el nombre del ejecutable es ebcot_lite_compress.exe cuando lo ejecutes tendrás que poner el nombre entero (incluido el .exe) ya que en GNU/Linux las extensiones no existen sino que forman parte del nombre del archivo.

Si el ejecutable se encuentra en ~/ebcot_compress/bin para ejecutarlo puedes hacer

cd ~/ebcot_compress/bin
./ebcot_lite_compress.exe

o bien

~/ebcot_compress/bin/ebcot_lite_compress.exe

De todas formas si el ejecutable es realmente de Windows haz caso del consejo que te ha dado furtaxi que será lo mejor :)


Lectura obligada:
+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

Imagen de furtaxi
+1
0
-1

Gracias, JoséLuis.

Quiero aclarar que hace muchos años que no programo, y, desgraciadamente, lo hacía en el lado oscuro, pero pensé en la posibilidad de que se estuviera generando un programa para Win, seguramente, habrá formas de decirle al linkador y al compilador cómo quieres el fichero destino. 

La verdad, según voy teniendo el ordenador más a mi gusto (hoy compilé el Kernel manualmente), más ganas tengo de volver a programar.

Temblar, foreros, porque entonces será cuando os ametralle a preguntas.... :) 

Nota: Mis disculpas si lo que dije fué una tontería, considerarme novato del todo en el tema. 

Saludos,

Roberto.

Mi página personal: www.vigonews.es

Si quieres ver la libertad, abre los ojos.

+1
0
-1

Mi web : www.vigovideo.es
Buscar es más rápido que esperar una respuesta.

Imagen de joseluis
+1
0
-1

A mí no me parece que sea ninguna tontería y teniendo en cuenta la información que tenemos sobre lo que estaba intentando hacer pilar07 no podemos saber si tu interpretación era correcta o no.

Al fin y al cabo no sería este el primer caso de alguien que intenta ejecutar un programa .exe de Winchof en GNU/Linux :)

Por otra parte lo de mono era solo un ejemplo, pero lo cierto es que en el Makefile puedes poner el nombre que quieras como destino de la compilación, por ejemplo

#include 
#include 

int main(int argc, char *argv[]) {
        printf ("hola mundo\n");
        return 0;
}

lo compilamos con

gcc miprograma.c -o miprograma.exe

y ya tenemos un .exe que funciona sin ningún problema en Ubuntu (y en cualquier GNU/Linux).

Lo que ocurre es que si se trata de un archivo.exe y no se utiliza mono (y no me suena que el compilador de mono se llame cc) lo que parece es que el código puede estar preparado para compilarse en Windows (aunque pueda compilarse también en otras plataformas).

En cualquier caso espero que nos saque de dudas pilar07

Con respecto a la directiva de compilación -Aa la verdad es que no tengo ni idea, quizás en el foro de Desarrollo (que me parece más apropiado para este tipo de dudas) alguien pueda aclarar ese punto.


Lectura obligada:
+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

Imagen de furtaxi
+1
0
-1

¿No será que no le ha puesto el .exe al llamar el programa?

Porque le da que el fichero no existe, pero está en el listado...

Edito: llevo mal día, ya lo habíais visto....excusez moi, sorry, y esas cosas... 

Saludos,

Roberto.

Mi página personal: www.vigonews.es

Si quieres ver la libertad, abre los ojos.

+1
0
-1

Mi web : www.vigovideo.es
Buscar es más rápido que esperar una respuesta.

Imagen de pilar07
+1
0
-1

Bueno!!!

Pues gracias a todos por los consejos..... no tengo idea de si el programita está hecho para compilar en windows pero diria que no, casi estoy segura de eso...

Y pues, no he descubierto aún para qué sirve el -Aa pero lo que sí he descubierto es que si lo borro provoca que no pueda ejecutar el .exe que se genera (sí, pongo el .exe al final, estoy el el directorio apropiado y toas esas cosas.... ;) )  .... y si dejo el -Aa da errores...

 Mi solución ha sido compilar y linkar manualmente en win... qué se le va a hacer...

Un beso a todos y mil gracias!!!!

+1
0
-1
Imagen de furtaxi
+1
0
-1

Pero me gustaría que lo consiguieras hacer en Linux, hacen falta programadores. Si te sobra el tiempo, te pediría que lo investigaras, a ver si lo puedes hacer todo desde éste sistema.

Y mil de nadas, para eso estamos, aunque , desgraciadamente, no tengamos todas las soluciones. 

Saludos,

Roberto.

Mi página personal: www.vigonews.es

Si quieres ver la libertad, abre los ojos.

+1
0
-1

Mi web : www.vigovideo.es
Buscar es más rápido que esperar una respuesta.

Imagen de joseluis
+1
0
-1

Segun he visto aqui la opcion -Aa del compilador es para compilar en ANSI C.

A mí me da la impresión que el problema a la hora de ejecutarlo no es por esa opción de compilación.
¿Cuando lo ejecutas desde el directorio donde está el ejecutable, le pones ./ por delante del nombre del ejecutable ( ./ebcot_lite_compress.exe )?
Si lo estuvieras intentando ejecutar simplemente con ebcot_lite_compress.exe te daría el error bash: ebcot_lite_compress.exe: command not found porque no lo encontraría en los directorios indicados por la variable PATH, mientras que al ponerle ./ por delante le estás indicando directamente que lo busque en el directorio en el que se encuentra.

Actualizacion

Si es posible, podías poner el enlace al código fuente, así si puedo esta noche (cuando esté en casa) lo pruebo por si veo algo que se nos esté escapando.


Lectura obligada:
+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado