He descargado un programa simple de Windows de GitHub ( esto si es relevante). Lo descargué como un archivo ZIP, pero no puedo entender cómo instalarlo. Está escrito en C, creo. ¿Necesito un compilador? (Visual Studio?) ¿Hay algo simple que me estoy perdiendo?
44
Respuestas:
Github es utilizado principalmente por programadores para colaborar en proyectos. La opción 'Descargar ZIP' descarga una copia del código fuente en su computadora. Esto por lo general 1 no contiene una copia de los ejecutables utilizables compilados / binarios (es decir, los archivos EXE)
Lanzamientos , es una característica de Github para enviar software a los usuarios finales (que generalmente no están interesados en la codificación real). Los lanzamientos van acompañados de notas de lanzamiento y enlaces para descargar el software o el código fuente. Este es el primer lugar donde debe verificar los binarios .
En su caso, la página de lanzamientos ofrece descargas y archivos de configuración.
Sin embargo, muchos proyectos no tendrán lanzamientos (especialmente no para Windows), en cuyo caso puede hacer uno de los siguientes:
Busque binarios en otras partes de Internet. Por lo general, los motores de búsqueda como DuckDuckGo (o Google , si lo prefiere) encontrarán lo que busca fácilmente. Intenta buscar
<application name> for Windows
o<application name> exe
.Compílalo tú mismo. Necesitas tener al menos algunos conocimientos básicos del lenguaje de programación para poder hacerlo. Una vez más, los motores de búsqueda pueden ser enormemente útiles. Intenta buscar
compile <application name> on Windows
oMinGW compile <application name>
.Aquí repasaré los conceptos básicos de la compilación de utilidades para Widnows:
Descargar MinGW . Personalmente, estoy a favor de este paquete porque viene con boost (que usan varias aplicaciones) y un shell genial. También viene con
git
, que puede ser súper útil si desea compilar archivos alojados en Github u otros repositorios de control de versiones de Git sin tener que descargar la fuente por separado.Ejecute los siguientes comandos en
cmd
opowershell
:cd c:\sources\hello
: Cambie el directorio a donde sea que se encuentre el / los archivo (s) de origen.g++ helloworld.cpp -o helloworld.exe
: aquíhelloworld.cpp
está el nombre del archivo fuente principal yhelloworld.exe
el nombre del ejecutable compilado.-o
cambio:g++ helloworld.cpp foo.cpp -o helloworld.exe
.c
lugar de.cpp
, y debe usar elgcc
comando en lugar deg++
. El resto es más o menos idéntico., probablemente,sin duda que desee ver en los archivos make. Esta publicación de Stack Overflow trata sobre makefiles en general, y esta nos dice cómo usarlos con MinGW. Si un proyecto viene con un archivo MAKE, pruébelo antes de compilar manualmente la fuente.helloworld.exe
.1 Nota: A veces puede haber una carpeta llamada
bin
entre los archivos descargados, que debe contener ejecutables / binarios utilizablesTambién vea Cygwin y GOW si desea utilidades de línea de comando GNU / Linux en Windows. Hago que la última versión de algunos ejecutables útiles esté disponible para descargar aquí .
Más información:
http://www.mingw.org/wiki/MinGW_for_First_Time_Users_HOWTO
https://gcc.gnu.org/onlinedocs/index.html#dir
https://stackoverflow.com/questions/22873884/how-do-i -run-configure-with-mingw
fuente
Miras a tu alrededor y encuentras el instalador en la página de lanzamiento . Claro que podrías compilar la fuente, pero no creo que eso sea lo que quieres.
fuente
Los archivos .c y .h son código fuente C.
Deberá instalar un compilador de C como Visual Studio, tcc o algo similar, cargar el proyecto y luego compilarlo para ejecutarlo.
De lo contrario, el proyecto tiene una página de lanzamiento ( aquí ) que le dará acceso a una versión precompilada para ahorrarle tiempo y esfuerzo.
fuente
Esta respuesta abordará la cuestión general de construir una aplicación de Windows de solo fuente (en C). Si tiene suerte como el OP, puede encontrar binarios precompilados.
Lo primero que debe tener en cuenta aquí es que no hay una única forma de crear una aplicación desde la fuente. Existen aproximadamente tantas variaciones como proyectos diferentes. Dicho esto, aquí hay algunos pasos generales:
Si tiene suerte, el proyecto proporcionará instrucciones de compilación, generalmente dentro del
README
archivo. Ocasionalmente, también puede haber unINSTALL
archivo u otra documentación disponible. Si están disponibles, siga las instrucciones. Son tu mejor apuesta.Como otros han dicho, desafortunadamente, es muy difícil reconstruir los pasos de compilación requeridos sin instrucciones. Sin embargo, al menos podemos hacer un intento de mejor esfuerzo aquí, que funcionará para la mayoría de los proyectos simples.
A falta de instrucciones, el siguiente puerto de escala es verificar qué herramienta de compilación se requiere.
Si encuentra un archivo con una extensión
.sln
o.vcxproj
, este es probablemente un proyecto de MSBuild / Visual Studio. Descargue una copia de Visual Studio Community o Express (para C ++), abra ese archivo de proyecto allí y haga clic en el botón de reproducción en la barra de herramientas (o use el menú de compilación).Si encuentra un
Makefile
, esto probablemente va a requerirmake
. Pero aquí es donde las cosas se ponen aún más difíciles, ya que hay tantos sistemas independientes e incompatibles que usanmake
.Dado que está dirigido a Windows, probablemente usará MinGW . Descargue una copia de eso, inicie MSYS desde su menú de inicio, navegue (
cd
) al directorio que contiene su proyecto y ejecútelomake
.En la rara ocasión en que se trata de Cygwin (desafortunadamente no hay una manera fácil de saberlo, pero si el MinGW genera errores con un error relacionado con "posix", esta es una apuesta decente), deberá instalar Cygwin en su lugar. Desafortunadamente, esto no construye binarios nativos de Windows: tendrá que iniciar el programa a través de Cygwin cada vez.
La "herramienta de compilación" podría ser un script personalizado con el nombre
build.bat
o similar. En este caso, tendrá que abrirlo y ver qué hay dentro, o intentar ejecutarlo y ver cuáles son los errores. Si lo abre y ve menciones deGCC
, regrese a 2.2.1. Paso MinGW pero ejecuta el script personalizado en lugar demake
.Es posible que no haya una herramienta de construcción en absoluto. Si todo lo que encuentra es un solo archivo
.c
o.cpp
archivo, entonces probablemente sea lo suficientemente simple como para que pueda hacer una compilación directa. Estos son, nuevamente, casi siempre MinGW , así que descárguelo, inicie el shell de MSYS, navegue al directorio e invoque,gcc
og++
según sea necesario, por ejemplogcc -o program.exe program.c
Es posible que ninguno de estos funcione. Si recibiste mensajes de error en cualquier paso, podrían contener una pista de lo que falta. Una posibilidad es que le faltaban ciertos marcos o bibliotecas requeridos; si lo desea, puede intentar descargarlos y agregarlos a su entorno de compilación, pero esto generalmente no es un proceso trivial y tiene tantas variaciones que no hay manera de cubrirlos en una respuesta.
Glosario
Construir herramientas
Una herramienta de compilación le permite construir un proyecto con muy pocos comandos. Para la mayoría de los proyectos con más de un solo archivo fuente, una herramienta de compilación estará involucrada en alguna parte. Existen varias herramientas de compilación, pero las más comunes son:
make , usado en todas partes en Linux y cada vez más común en Windows. Los proyectos que usan
make
generalmente se pueden identificar por la presencia de aMakefile
.MSBuild es específico de Windows y generalmente se ve junto con Visual Studio. Estos generalmente irán acompañados de un archivo
*.sln
o*.vcxproj
.Cadenas de herramientas
Una cadena de herramientas es el compilador y las herramientas de soporte. Al igual que las herramientas de compilación, hay varias, y generalmente se usan con una de las herramientas de compilación.
MSVC es la cadena de herramientas de Microsoft. Esta es la cadena de herramientas más común para el desarrollo nativo de Windows. Esto generalmente se usa con el sistema MSBuild, y las compilaciones generalmente se crean a través de Visual Studio. Sin embargo, los proyectos modernos de MSVC también pueden usarse
Makefile
.GCC ( MinGW ) es un puerto de GCC para Windows. Usualmente usado con
make
. Si el proyecto está dirigido a Windows de forma nativa y tiene unMakefile
, probablemente sea para MinGW-GCC.GCC ( Cygwin ) crea un entorno compatible con POSIX. Esto le permite compilar directamente la mayoría de los programas escritos para Linux o Unix y hacer que funcione directamente en Windows. Más recientemente en Windows 10, Bash en Ubuntu en Windows es una alternativa. GCC se usa generalmente junto con
make
.Marcos y bibliotecas
Las bibliotecas son conjuntos de códigos reutilizables escritos por otras personas, de los que dependen muchos programas para evitar reinventar la rueda. Debe tener estas dependencias disponibles para construir el proyecto. Si tiene suerte, se incluirán con su descarga inicial, pero este no es siempre el caso.
Los marcos son efectivamente una colección de bibliotecas. Muchos proyectos usan un marco, que también necesitará. Estos a menudo vienen con su propio sistema de compilación también, pero enumerarlos a todos sería imposible.
La parte más difícil es lidiar con el marco adicional y las dependencias de la biblioteca. Si, por ejemplo, el proyecto usa Qt , entonces necesitarás todo ese desastre para construirlo correctamente. Esta es una tarea enorme, y a menos que tenga experiencia previa, probablemente sea mejor pedir ayuda directa a otros aquí.
fuente
MINGW_PREFIX = $(shell which gcc | awk -F/bin/ '{ printf $$1 }')
:)