Por favor, note que este é um esboço, pois os projetos podem variar muito.
Provavelmente, a causa mais comum de falha é de fato dependências ou falta de portabilidade de código.
Primeiro, certifique-se de ter o XCode mais recente instalado.
Eu recomendaria usar MacPorts ou Homebrew em primeiro lugar. Isso lhe dará acesso a muitos pacotes de código aberto prontos para uso.
Então, se o seu projeto não estiver na lista de pacotes fornecida, os gerenciadores de pacotes acima mencionados permitirão que você instale suas dependências diretas (e por sua vez, suas dependências, recursivamente) muito mais facilmente do que construir as dependências da fonte manualmente. / p>
As próximas duas opções são oferecidas a você:
- você cria e gerencia o projeto manualmente
- você cria um portfile (MacPorts) ou uma fórmula (Homebrew), permitindo que o gerenciamento de pacotes busque, construa, instale e gerencie seu projeto
Como construir seu projeto depende muito do projeto em si e da linguagem em que ele está escrito. As instruções geralmente estão em um arquivo INSTALL ou README.
Como você fala sobre arquivos de cabeçalho, suponho que seja um programa escrito em C ou C ++. Nesse caso, o processo de compilação é geralmente o seguinte:
./configure --prefix=/usr/local
make
Certifique-se de definir um prefixo para não sobrescrever coisas do sistema em / usr / bin para projetos que usam padrões insanos.
Se todas as dependências forem satisfeitas, o script configure
deve prosseguir com êxito e, portanto, deve make
. Se ocorrerem problemas, você pode apontar ou desabilitar dependências com o script configure
, sinalizadores relevantes dados por ./configure --help
.
Uma vez que a compilação tenha sido bem sucedida, você pode prosseguir para instalar via sudo make install
.
Como alternativa, tente criar um arquivo de porta ou uma fórmula que execute as etapas de construção, mas seja gerenciada pelo gerenciador de pacotes.
A rota do gerenciador de pacotes tem muitas vantagens:
- os comandos de compilação são facilmente reproduzidos para uma versão mais recente do projeto
- a desinstalação é facilmente manipulada
- você pode contribuir com o portfile / formula
- você pode se inspirar em um portfile / fórmula existente escrito para um projeto semelhante para criar seu projeto com êxito
Resista à tentação de criar binários da Universal. Pode ser uma questão complicada, que você deve tentar apenas se tiver sucesso e dominar as compilações regulares primeiro.
Lembre-se de que alguns projetos não são gravados de forma portátil (seja por necessidade, irrelevância ou falta de vontade) e não funcionarão no Mac OS X. Embora não seja trivial, essa pode ser uma oportunidade para aprender e portar o código para uma nova plataforma ...