você está aqui: Home  → Arquivo de Mensagens

Criando aplicativos para o Mac OS X no GNU/Linux

Colaboração: Alessandro de Oliveira Faria

Data de Publicação: 21 de junho de 2011

Neste documento disponibilizo de maneira objetiva e clara, de como criar aplicativos para o pacote super-proprietário da Apple MacOS X. Como não é qualquer usuário que pode se dar ao luxo de adquirir um MacBook apenas para criar programas compatíveis, acredito que este texto será de grande utilidade.

Compilação cruzada é a técnica capaz de criar códigos binários para uma plataforma de hardware e software diferente do ambiente no qual o compilador esta instalado. Ou seja, no ambiente GNU/Linux seremos capazes de criar binários para o Mac OS. Abaixo os requisitos de software para efetuar toda a compilação com sucesso.

Requisitos:

Antes de iniciarmos, devemos obter os itens abaixo. Ressalto que o SDK do Mac OS X deve ser obtido diretamente no site da Apple por questões de licenciamento.

Instalação e configuração:

Primeiramente devemos descompactar o pacote odcctools mencionado anteriormente e também disponibilizado o link para download.

  # tar -jxvf odcctools-20090808-gcc-5247-bin.tar.bz2 -C /

Na próxima etapa devemos converter a imagem DMG do SDK da Apple para IMG com o utilitário dmg2img:

  # dmg2img xcode_2.2.1_8g1165_018213632.dmg
  
      dmg2img v1.6.1 is derived from dmg2iso by vu1tur (to@vu1tur.eu.org)
      xcode_2.2.1_8g1165_018213632.dmg --> xcode_2.2.1_8g1165_018213632.img
      reading property list, 5740 bytes from address 863457792 ...
      decompressing:
      opening partition 0 ... 100.00% ok
      opening partition 1 ... 100.00% ok
      opening partition 2 ... 100.00% ok
      opening partition 3 ... 100.00% ok
      Archive successfully decompressed as xcode_2.2.1_8g1165_018213632.img 

Após a conversão, monte a imagem recém-criada no seu sistema de arquivos, não esqueça de carregar o módulo do kernel hfsplus.

  # modprobe hfsplus
  # mount -t hfsplus -o ro,loop xcode_2.2.1_8g1165_018213632.img /mnt

Agora copie o arquivo Archive.pax.gz para a pasta /opt/mac/SDKs e utilize o comando gunzip junto ao pax para descompactá-lo.

  # cp /mnt/Packages/MacOSX10.4.Universal.pkg/Contents/Archive.pax.gz /opt/mac/SDKs
  # cd /opt/mac/SDKs
  # gunzip -c Archive.pax.gz | pax -r

Para finalizar a configuração do ambiente, insira o caminho da pasta bin na variável ambiental PATH ou se preferir utilize o comando abaixo:

  # PATH=$PATH:/opt/mac/bin

Compilando um programa para o MAC

Para a brincadeira ficar divertida, compilaremos o md6sum disponível no SourceForge. Faça o download do código fonte e descompacte com o tradicional comando tar -zxvf e logo em seguida entre na pasta.

Link para download: http://sourceforge.net/projects/md6sum/files/linux/md6sum-1.0.tar.gz/download

  # tar -zxvf ../md6sum-1.0.tar.gz
  # cd md6sum-1.0/

Para compilar o md6sum para utilizar o comando abaixo:

  # i686-apple-darwin8-gcc -isysroot /opt/mac/SDKs/Developer/SDKs/MacOSX10.4u.sdk md6sum.c md6_nist.c md6_mode.c md6_compress.c -o md6sum

Agora para finalizar, confira se o binário foi criado corretamente:

  # file md6sum
  md6sum: Mach-O executable i386

Espero que este documento simples e objetivo ajude a instalação e configuração do ambiente de desenvolvimento para Mac OS. Como sempre menciono... Colaborar atrai amigos, competir atrai inimigos...

Para encerrar, críticas e sugestões: <cabelo (a) opensuse org>

Este artigo foi publicado originalmente no site Viva o Linux
Alessandro de Oliveira Faria é sócio-fundador da empresa NETi TECNOLOGIA fundada em Junho de 1996 (http://www.netitec.com.br), empresa especializada em desenvolvimento de software e soluções biométricas, Consultor Biométrico na tecnologia de reconhecimento facial, atuando na área de tecnologia desde 1986 assim proporcionando ao mercado soluções em software nas mais diversas linguagens e plataforma, levando o Linux a sério desde 1998 com desenvolvimento de soluções open-source, diversos documentos técnicos disponibilizado na internet, membro colaborador da comunidade Viva O Linux, mantenedor da biblioteca open-source de vídeo captura entre outros projetos e openSUSE Member.


 

 

Veja a relação completa dos artigos de Alessandro de Oliveira Faria

Opinião dos Leitores

Joner Cyrre Worm
22 Jun 2011, 14:36
Somente lembrando de uma boa alternativa para programação multiplataforma (Linux/Win/Mac) são as "Ferramentas para Desenvolvimento GNUstep"

GNUStep possui 2 grandes aplicações gráficas que auxiliam a gerenciar e criar novos projetos, projetar e editar interfaces gráficas de usuários, e compilar e depurar seus programas. Empregando ProjectCenter e Gorm, desenvolvedores podem rapidamente projetar e compilar aplicações "cross-platform" em Objective-C ou Java. Ambas as linguagens podem ser empregadas como interface para os frameworks GNUStep.

Fonte: http://www.gnustep.org/experience/DeveloperTools.html

Veja também: http://mediawiki.gnustep.org/index.php/Cross_Compiling
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script