Pergunta

Gostaria de porta de minha C / C ++ aplicativos para o OS X.

Eu não tenho um Mac, mas eu tenho Linux e Windows. Existe alguma ferramenta para isso?

Foi útil?

Solução

Parece haver alguns scripts que foram escritos para ajudar você a configurar compilação cruzada para o Mac; Eu não posso dizer o quão bom eles são, ou como aplicável ao seu projeto. Na documentação, eles se referem a estas instruções para compilação cruzada para 10,4, e estes queridos para compilação cruzada para 10,5; essas instruções pode ser mais útil do que o script, dependendo de quão bem o roteiro se adapta às suas necessidades.

Se seu programa é software livre ou aberto, então você pode querer em vez de criar uma MacPorts portfile ( documentação aqui ), e permitir que seus usuários para construir o seu programa usando MacPorts; que é geralmente a melhor maneira de instalar software de código livre ou aberto portátil no Mac OS X. MacPorts tem sido conhecida a rodar em Linux no passado, por isso pode ser possível desenvolver e testar sua portfile no Linux (embora, obviamente, necessidade a ser testado em um Mac).

Outras dicas

No Linux, existe um pré-construídos GCC cross-compiler (a partir de fontes do CCG modificados publicamente disponível da Apple).

https://launchpad.net/~flosoft/+archive/cross-apple

Atualização para 2015

  1. Depois de tantos anos, o IDE padrão da indústria agora suporta OSX / iOS / Android.

http://channel9.msdn.com/Events/ Visual-Studio / Conectar-event-2014/311

  1. RadStudio da Embarcadero também suporta a construção de OSX / iOS / Android Apps no Windows.

  2. Este resposta por Thomas também fornece uma ferramenta de cross-compilação.

Para todas essas opções, você ainda precisa de um / i-dispositivo real mac para testar o aplicativo.

Eu criei um projeto chamado OSXCross que visa direcionar OS X (10,4-10,9) do Linux.

Ele suporta atualmente clang 3,2 até 3,8 (tronco) (você pode usar clang do seu dist).
Além disso, você pode construir um GCC baunilha up-to-date, bem como (4.6 +).

LTO funciona tão bem, para ambos, clang e GCC.

Atualmente usando cctools-870 com ld64-242.

https://github.com/tpoechtrager/osxcross

  1. Get " VMware Player "
  2. Get " Mac OS X vm imagem "
  3. Compilar / Debug / Integrar-e-teste seu código no novo sistema operacional para garantir que tudo funciona

Quando você está tentando obter algo trabalhar em múltiplas plataformas você absolutamente deve compilação / run / integrar / teste na plataforma destina. Você não pode apenas compilar / executar em uma plataforma e, em seguida, dizer "oh ele deve funcionar o mesmo na outra plataforma".

Mesmo com a realmente um bom linguagem cross-plataforma como Java você vai correr em problemas onde não vai funcionar exatamente o mesmo na outra plataforma.

A única maneira que eu encontrei que respeite o meu tempo / produtividade / capacidade-a-rapidamente iterate em múltiplas plataformas é usar uma VM das outras plataformas.

Existem outras soluções como o dual-boot e aqueles que eu não tenha mencionado, mas eu acho que eles não respeitam a minha produtividade / hora.

Tome dual-boot como um exemplo:

  1. I fazer uma mudança no OS 1
  2. reiniciar para OS 2
  3. esquecer algo no OS 1
  4. reiniciar para OS 1
  5. fazer uma mudança no OS 1
  6. reiniciar para OS 2 ... novamente ...

BAM lá se vai 30 minutos do meu tempo e eu não ter feito qualquer produtivo.

Você precisaria de um conjunto de ferramentas de compilação cruzada para mach-o, mas mesmo se você tivesse que, você não terá as bibliotecas da Apple ao redor para desenvolver com. Eu não sei como você seria capaz de porta sem eles, infelizmente.

desenvolvimento da Apple é um bicho estranho em si mesmo. OS X usa um porto de GCC com algumas modificações para torná-lo 'appley'. Em teoria, é possível às fontes a Apple GCC e conjunto de ferramentas, bem como o kernel a Apple e cabeçalhos de biblioteca e construir um compilador cruzado em sua máquina Windows.

Por que você iria querer ir por este caminho está além de mim. Você pode ter um barato Mac mini de US $ 600. O tempo que você investir obter um compilador cruzado funcionando direito (particularmente com um host Windows para obter ferramentas Unix) provavelmente irá custar mais do que os US $ 600 de qualquer maneira.

Se você está realmente interessado em fazer seu aplicativo olhar de plataforma cruzada em Qt, wxWidgets ou FLTK. Todos oferecem suporte multi-plataforma com alterações mínimas para o código base. Pelo menos assim tudo que você precisa fazer é encontrar um Mac para compilar seu aplicativo, e que não é muito difícil de fazer se você tem alguns amigos tecnicamente espírito que não se importam dando-lhe SSH acesso ao seu Mac.

Você vai precisar OS X alguma forma. Mesmo se você não possui um Mac, você ainda pode tentar algumas alternativas .

Eu encontrei esta pequena documentação na net: http://devs.openttd.org/~truebrain/compile- fazenda / apple-darwin9.txt

Isto descreve exatamente o que você quer. Estou interessado nele mesmo, não testei ainda que (achei 10 minutos atrás). A documentação parece bom, no entanto.

Você pode contratar um mac na nuvem de este site . Você pode contratá-los a partir de US $ 1, que deve ser suficiente (a menos que você necessidade acesso root, então você está olhando em $ 49 +).

Existem algumas configurações de cross-compilador, mas quase todos eles são destinados para distcc-style distribuído compilar. Para meu conhecimento não há nenhuma maneira de alvejar diretamente a plataforma Mac sem realmente ter um Mac. O mais próximo que você pode obter, sem recorrer a QT ou wxWidgets é OpenStep com GNUStep ou similar, mas isso não é uma plataforma Cocoa verdade, apenas muito perto.

A resposta curta é uma espécie de. Você precisará usar uma biblioteca multi-plataforma como QT . Há IDE como QT Creator que lhe permitirá desenvolver em um sistema operacional e gerar Makefiles para os outros. Para mais informações sobre o desenvolvimento de plataforma cruzada, confira os episódios de plataforma cruzada de este podcast ( nota que a série não acabou e novos episódios parecem vir semanalmente).

Como outras respostas explicar provavelmente você pode compilar para um Mac no Windows ou Linux, mas você não será capaz de testar seus aplicativos para que você provavelmente deve gastar os US $ 600 para um Mac se você está fazendo programação profissional, ou se você 're trabalhando em software open-source encontrar um desenvolvedor com um Mac que irá ajudá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top