Eu baixei um programa Windows simples e morto do GitHub ( isso se for relevante). Fiz o download como um arquivo ZIP, mas não consigo descobrir como instalá-lo. Está escrito em C, eu acho. Preciso de um compilador? (Visual Studio?) Há algo simples que eu estou perdendo?
44
Respostas:
O Github é usado principalmente por programadores para colaborar em projetos. A opção 'Download ZIP' baixa uma cópia do código fonte no seu computador. Isso geralmente 1 não contém uma cópia dos executáveis / binários utilizáveis compilados (ou seja, arquivos exe)
Lançamentos , é um recurso do Github para envio de software para usuários finais (que geralmente não estão interessados na codificação real). As versões são acompanhadas de notas e links para baixar o software ou o código-fonte. Este é o primeiro lugar que você deve procurar por binários .
No seu caso, a página de lançamentos oferece downloads e arquivos de configuração.
No entanto, muitos projetos não terão nenhuma versão (especialmente para o Windows); nesse caso, você pode executar um dos seguintes procedimentos:
Pesquise binários em outros lugares da Internet. Geralmente, os mecanismos de pesquisa como o DuckDuckGo (ou o Google , se você preferir) encontrarão o que deseja com facilidade. Tente procurar por
<application name> for Windows
ou<application name> exe
.Compile você mesmo. Você precisa ter pelo menos algum conhecimento básico da linguagem de programação para poder fazer isso. Aqui, novamente, os mecanismos de pesquisa podem ser extremamente úteis. Tente procurar por
compile <application name> on Windows
ouMinGW compile <application name>
.Aqui, vou explicar os conceitos básicos de compilação de utilitários para o Widnows:
Faça o download do MinGW . Pessoalmente, sou a favor deste pacote porque ele vem com boost (que vários aplicativos usam) e um shell legal. Ele também vem com
git
, o que pode ser super útil se você deseja compilar arquivos hospedados no Github ou em outros repositórios de controle de versão do Git sem precisar baixar o código-fonte separadamente.Execute os seguintes comandos em
cmd
oupowershell
:cd c:\sources\hello
: Altere o diretório para onde quer que esteja o (s) arquivo (s) de origem.g++ helloworld.cpp -o helloworld.exe
: aquihelloworld.cpp
é o nome do arquivo de origem principal ehelloworld.exe
o nome do executável compilado.-o
troca:g++ helloworld.cpp foo.cpp -o helloworld.exe
.c
vez de.cpp
, e você deverá usar ogcc
comando em vez deg++
. O resto é mais ou menos idênticoprovavelmentetambém definitivamente quer olhar para makefiles. Este post sobre estouro de pilha é sobre makefiles em geral, e este nos diz como usá-los com o MinGW. Se um projeto vier com um makefile, tente antes de compilar manualmente a fonte.helloworld.exe
.1 Nota: Às vezes, pode haver uma pasta chamada
bin
entre os arquivos baixados, que deve conter executáveis / binários utilizáveisConsulte também Cygwin e GOW se você quiser utilitários de linha de comando GNU / Linux no Windows. Faço algumas das versões mais recentes de alguns executáveis úteis disponíveis para download aqui .
Leitura adicional:
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
fonte
Você olha em volta e encontra o instalador na página de lançamento . Claro que você pode compilar a fonte, mas acho que não é isso que você deseja.
fonte
Os arquivos .c e .h são código-fonte C.
Você precisará instalar um compilador C, como o Visual Studio, tcc ou algo semelhante, carregar o projeto e compilá-lo para executá-lo.
Caso contrário, o projeto possui uma página de lançamento ( aqui ) que lhe dará acesso a uma versão pré-compilada para economizar tempo e esforço.
fonte
Esta resposta abordará a questão geral de criar um aplicativo Windows somente de origem (em C). Se você tiver sorte como o OP, poderá encontrar binários pré-compilados.
A primeira coisa a ter em atenção aqui é que não há uma maneira única de criar um aplicativo a partir da fonte. Existem aproximadamente tantas variações quanto diferentes projetos. Dito isto, aqui estão algumas etapas gerais:
Se você tiver sorte, o projeto fornecerá instruções de construção, geralmente dentro do
README
arquivo. Ocasionalmente, também pode haver umINSTALL
arquivo ou outra documentação disponível. Se houver, siga as instruções. Eles são sua melhor aposta.Como já foi dito, infelizmente, é muito difícil reconstruir as etapas de compilação necessárias sem instruções. No entanto, podemos pelo menos fazer uma tentativa de melhor esforço aqui, que funcionará para a maioria dos projetos simples.
Na falta de instruções, a próxima porta de escala é verificar qual ferramenta de compilação é necessária.
Se você encontrar um arquivo com uma extensão
.sln
ou.vcxproj
, provavelmente este é um projeto do MSBuild / Visual Studio. Baixe uma cópia do Visual Studio Community ou Express (para C ++), abra esse arquivo de projeto e clique no botão play na barra de ferramentas (ou use o menu build).Se você encontrar um
Makefile
, provavelmente será necessáriomake
. Mas é aqui que as coisas ficam ainda mais difíceis, pois existem muitos sistemas independentes e incompatíveis que usammake
.Como ele é direcionado para o Windows, provavelmente usará o MinGW . Faça o download de uma cópia disso, inicie o MSYS no menu Iniciar, navegue (
cd
) para o diretório que contém o seu projeto e executemake
.Nas raras ocasiões em que é o Cygwin (infelizmente, não há uma maneira fácil de saber, mas se o MinGW criar erros com um erro relacionado ao "posix", esta é uma aposta decente), será necessário instalar o Cygwin . Infelizmente, isso não cria binários nativos do Windows - você terá que iniciar o programa através do Cygwin sempre.
A "ferramenta de construção" pode ser um script personalizado com o nome
build.bat
ou similar. Nesse caso, você precisará abri-lo e ver o que há dentro, ou tentar executá-lo e ver quais são os erros. Se você o abrir eGCC
vir menções de , volte para o 2.2.1. MinGW, mas execute o script personalizado em vez demake
.É possível que não exista nenhuma ferramenta de construção. Se tudo que você encontrar é uma única
.c
ou.cpp
arquivo, então provavelmente é bastante simples que você pode fazer uma compilação reta. Esses são, novamente, quase sempre o MinGW ; portanto, faça o download, inicie o shell MSYS, navegue até o diretório e chame umgcc
oug++
conforme necessário - por exemplo,gcc -o program.exe program.c
É possível que nada disso funcione. Se você recebeu mensagens de erro em qualquer etapa, elas podem conter uma pista do que está faltando. Uma possibilidade é a falta de algumas estruturas ou bibliotecas necessárias - se você quiser, pode fazer o download delas e adicioná-las ao seu ambiente de construção, mas esse normalmente não é um processo trivial e tem tantas variações que não há maneira de cobri-los em uma resposta.
Glossário
Ferramentas de construção
Uma ferramenta de construção permite criar um projeto com muito poucos comandos. Para a maioria dos projetos com mais de um único arquivo de origem, uma ferramenta de construção estará envolvida em algum lugar. Existem várias ferramentas de construção, mas as mais comuns são:
make , usado em qualquer lugar no Linux e cada vez mais comum no Windows. Projetos usando
make
geralmente podem ser identificados pela presença de aMakefile
.O MSBuild é específico do Windows e normalmente é visto em conjunto com o Visual Studio. Geralmente, eles são acompanhados por um arquivo
*.sln
ou*.vcxproj
.Ferramentas
Uma cadeia de ferramentas é o compilador e as ferramentas de suporte. Assim como as ferramentas de construção, existem várias e geralmente são usadas com uma das ferramentas de construção.
MSVC é a cadeia de ferramentas da Microsoft. Essa é a cadeia de ferramentas mais comum para o desenvolvimento nativo do Windows. Isso geralmente é usado com o sistema MSBuild e as compilações geralmente são criadas pelo Visual Studio. No entanto, projetos modernos de MSVC também podem ser usados
Makefile
.GCC ( MinGW ) é uma porta do GCC para Windows. Geralmente usado com
make
. Se o projeto é direcionado para o Windows nativamente e possui umMakefile
, provavelmente é para o MinGW-GCC.O GCC ( Cygwin ) cria um ambiente compatível com POSIX. Isso permite que você compile diretamente a maioria dos programas criados para Linux ou Unix e faça com que funcione diretamente no Windows. Mais recentemente, no Windows 10, o Bash no Ubuntu no Windows é uma alternativa. O GCC é geralmente usado em conjunto com
make
.Estruturas e bibliotecas
Bibliotecas são conjuntos reutilizáveis de código escritos por outras pessoas, dos quais muitos programas dependem para evitar a reinvenção da roda. Você precisa ter essas dependências disponíveis para construir o projeto. Se você tiver sorte, eles serão incluídos no seu download inicial, mas esse nem sempre é o caso.
Estruturas são efetivamente uma coleção de bibliotecas. Muitos projetos usam uma estrutura, da qual você também precisará. Eles geralmente também vêm com seu próprio sistema de compilação, mas listar todos eles seria impossível.
A parte mais difícil é lidar com dependências extras de estrutura e biblioteca. Se, digamos, o projeto usa Qt - você precisará de toda essa bagunça para construí-lo adequadamente. Essa é uma tarefa enorme e, a menos que você tenha experiência anterior, provavelmente é melhor pedir ajuda direta a outras pessoas aqui.
fonte
MINGW_PREFIX = $(shell which gcc | awk -F/bin/ '{ printf $$1 }')
:)