2012-08-02 35 views
29

Soy nuevo en esto, solo quería preguntar cómo compilar un makefile.am usando el compilador MinGW en lenguaje C. ¿Debo guardar todos mis archivos en MinGW \ bin? porque ahora mi archivo está en un directorio diferente.¿Cómo compilar makefile usando MinGW?

Gracias por su atención.

+0

Por supuesto que no, no debe poner _ cualquier cosa_ en mingw \ bin. ¿Cuál es tu problema exacto? (es decir, explique qué es lo que falla para usted) – Mat

+1

Si tiene un Makefile.am, le sugiero que lea más sobre [automake] (http://www.gnu.org/software/automake/) y [autoconf] (http://www.gnu.org/software/autoconf/). –

+0

bien, tengo un proyecto en C que mi supervisor me pide que compile. ese proyecto contiene un makefile.in y también makefile.in. Sobre el cual tengo 0 conocimiento. después de la investigación, he logrado instalar el compilador MinGW. También cambié el entorno variable y el directorio en el símbolo del sistema que dirige a la ubicación del archivo.Ahora, ¿alguien puede decirme cómo compilar el proyecto? Realmente lo aprecio. – AAA

Respuesta

0

Conozca sobre automake y autoconf.

Makefile.am es procesado por automake para generar un Makefile que es procesado por make para construir sus fuentes.

http://www.gnu.org/software/automake/

+0

Eso significa que solo puedo compilar el archivo usando automake? – AAA

20

Extracto de http://www.mingw.org/wiki/FAQ:

¿Cuál es la diferencia entre la marca y el mingw32-hacer?

El puerto de fabricación "nativo" (es decir: MSVCRT) carece de alguna funcionalidad y tiene una funcionalidad modificada debido a la falta de POSIX en Win32. También existe una versión de make en la distribución MSYS que depende del tiempo de ejecución MSYS. Este puerto opera más ya que make fue pensado para operar y da menos dolores de cabeza durante la ejecución. En función de esto, los desarrolladores/encargados/encargados de la instalación de MinGW decidieron que sería mejor renombrar la versión nativa para que la versión "nativa" y la versión MSYS pudieran estar presentes al mismo tiempo sin colisión de nombre de archivo.

lo tanto, buscar en directorio C: \ MinGW \ bin y asegurarse primero de los que hacen ejecutable, has instalado (o make.exe mingw32-make.exe)

Antes de utilizar MinGW, se debe añadir C. : \ MinGW \ bin; a la variable de entorno PATH siguiendo las instrucciones mencionadas en http://www.mingw.org/wiki/Getting_Started/

Entonces cd a su directorio, donde tienes el makefile e intente utilizar mingw32-make.exe makefile.in o simplemente make.exe makefile.in (dependiendo de los ejecutables en C: \ MinGW \ bin).

Si desea una solución basada en GUI, instale DevCPP IDE y luego vuelva a realizarla.

+2

acaba de instalar mingw y no tengo ninguna carpeta bin. – ecoe

6

Tienes que elegir activamente instalar MSYS para obtener make.exe. Por lo tanto, siempre debe tener al menos (el nativo) mingw32-make.exe si MinGW se instaló correctamente. Y si instaló MSYS, tendrá make.exe (probablemente en la subcarpeta MSYS).

Tenga en cuenta que muchos proyectos requieren primero crear un archivo MAKE (por ejemplo, usar un script de configuración o un archivo .MAK de automake) y es este paso el que requiere MSYS o cygwin. Te hace preguntarte por qué se molestaron en distribuir la marca nativa en absoluto.

Una vez que tenga el archivo MAKE, no está claro si el ejecutable nativo requiere un separador de ruta diferente al MSYS make (barras diagonales contra barras diagonales inversas). Es probable que cualquier archivo MAKE autogenerado tenga rutas de estilo UNIX, suponiendo que la marca nativa pueda manejarlas, la salida compilada debería ser la misma.

Cuestiones relacionadas